【Ruby3.x】String::sub!()メソッドの使い方
sub!メソッドの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
sub!メソッドは、文字列オブジェクト内で最初に見つかったパターンを、別の文字列に置換するメソッドです。メソッド名の!は、このメソッドが呼び出し元のStringオブジェクト自身の内容を直接変更する「破壊的な操作」を行うことを示しています。
引数には、検索対象となるパターン(通常の文字列または正規表現)と、置換後の文字列を指定します。また、置換文字列の代わりにブロックを渡すことも可能で、その場合のブロックの戻り値が置換に使われます。
置換処理が行われ、文字列が実際に変更された場合、sub!メソッドは変更後のStringオブジェクト(レシーバ自身)を返します。しかし、パターンに一致する部分が見つからず、文字列に変更がなかった場合はnilを返します。この返り値で、変更が実際に起こったかを確認できます。
元の文字列を変更したくない場合は、非破壊的なsubメソッドを使用してください。sub!メソッドは、特定の文字列の修正を永続的に行いたい場合に便利ですが、プログラムの状態に直接影響を与えるため、利用する際は注意が必要です。
構文(syntax)
1message = "Hello world!" 2message.sub!(/o/, "O")
引数(parameters)
pattern, replacement
- pattern: 置換対象の文字列または正規表現
- replacement: 置換後の文字列
戻り値(return)
String または nil
文字列置換が成功した場合、変更された文字列が返されます。置換対象が見つからなかった場合は nil が返されます。