sub, gsubメソッドで置換を行う

スポンサーリンク
スポンサーリンク
ライフスタイル関連のコンテンツ
お金 | 仕事 | 勉強 | プライベート | 健康 |
プログラミング関連のコンテンツ
C言語/C++入門 | Ruby入門 | Python入門 | プログラミング全般

subメソッド、gsubメソッドで、正規表現により文字列中のマッチした部分を、別の文字列へと置き換えることができます。
subは、最初にマッチした部分の置換、gsubは、すべてのマッチした部分を置き換えます。

スポンサーリンク

p "yyyabcabcabczzz".sub(/abc/, 'ABC')
p "yyyabcabc\nabczzz".gsub(/abc/, 'ABC')
puts "yyyabcabc\nabczzz".gsub(/abc/, 'ABC')
p "abc    xyz   ABC   \n def    XYZ".gsub(/\s+/, ', ')
 
str = "hello world !"
s_str = str.sub(/[^\s]+/){|m|
    m.capitalize
}
p s_str
 
str = "hello world !"
s_str = str.gsub(/[^\s]+/){|m|
    m.capitalize
}
p s_str

sub, gsubは、ブロックを取ることができます。
マッチした部分が引数としてブロックに渡され、ブロック内で処理され返された値で、元のマッチした部分が置き換えられます。
実行結果。

"yyyABCabcabczzz"
"yyyABCABC\nABCzzz"
yyyABCABC
ABCzzz
"abc, xyz, ABC, def, XYZ"
"Hello world !"
"Hello World !"

subとgsubは、正規表現でよく使うメソッドですので、使い慣れておくと便利そうです。
破壊的なメソッドとして、それぞれsub!, gsub!があります。

スポンサーリンク
 
スポンサーリンク