【Ruby3.x】String::gsub!()メソッドの使い方
gsub!メソッドの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
gsub!メソッドは、RubyのStringクラスに属し、文字列内の特定のパターンを別の文字列に全て置換するメソッドです。このメソッドは、第一引数として検索するパターン(文字列または正規表現)を受け取り、第二引数としてそのパターンに一致する部分に置き換える新しい文字列、あるいは置換内容を生成するためのブロックを指定します。
特に重要な点として、gsub!メソッドはレシーバとなる元の文字列オブジェクト自体を直接変更する「破壊的メソッド」である点が挙げられます。そのため、このメソッドを実行すると、元の文字列変数の内容が置き換え後の内容に更新されます。これは、同名の破壊的ではないgsubメソッドが常に新しい文字列を返すのとは対照的です。
戻り値については、もし文字列内で置換が発生し、内容が変更された場合は、変更後の文字列(レシーバ自身)を返します。一方、検索パターンに一致する部分が見つからず、文字列に一切変更が加えられなかった場合は、nilを返します。
このメソッドは、文字列全体にわたって特定のキーワードを一括で修正したい場合や、データの整形など、元の文字列そのものを効率的に変更する必要があるシーンで非常に役立ちます。元の文字列を保持しつつ、変更後の新しい文字列を得たい場合は、破壊的ではないgsubメソッドの利用を検討してください。
構文(syntax)
1text = "apple banana apple" 2text.gsub!("apple", "orange")
引数(parameters)
pattern, replacement
- pattern: 置換対象となる正規表現または文字列
- replacement: 置換後の文字列または置換処理を行うProcオブジェクト
戻り値(return)
self または nil
文字列の置換が正常に行われた場合は、置換後の自身(self)を返します。置換が行われなかった場合は nil を返します。