【Ruby3.x】String::sub()メソッドの使い方
subメソッドの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
subメソッドは、Stringオブジェクトに対して、指定されたパターンに最初に一致する部分を別の文字列に置き換える処理を実行するメソッドです。このメソッドは、元のStringオブジェクト自体を変更せず、置き換えが適用された新しいStringオブジェクトを生成して返します。この「非破壊的」な特性により、元のデータはそのままに、加工された結果だけを利用したい場合に便利です。
subメソッドは、第一引数に検索対象となるパターンを指定します。このパターンには、通常の文字列または正規表現のどちらでも指定可能です。第二引数には、一致した部分を置き換えるための文字列を指定します。例えば、"hello world".sub("world", "ruby")とすると、"hello ruby"という新しい文字列が得られます。
また、第二引数に文字列ではなくブロックを渡すこともできます。この場合、パターンに一致した部分文字列がブロックの引数として渡され、ブロックが返す値が置換後の文字列として使用されます。これにより、一致した内容に基づいて動的に置換する値を決定できます。subメソッドは、文字列の中から特定の部分だけを一度だけ修正する場面で、プログラムの柔軟性を高めるために広く利用されています。
構文(syntax)
1original_string = "Hello Ruby, Hello World" 2modified_string = original_string.sub("Hello", "Hi") 3# modified_string は "Hi Ruby, Hello World" となる
引数(parameters)
pattern, replacement
- pattern: 置換対象の文字列または正規表現
- replacement: 置換後の文字列
戻り値(return)
String
指定された文字列内で、最初に出現したパターンに一致する部分を置換した新しい文字列を返します。