Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

【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 が返されます。

関連コンテンツ

関連プログラミング言語