sub, gsubメソッドで置換を行う
スポンサーリンク
スポンサーリンク
ライフスタイル関連のコンテンツ
お金 | 仕事 | 勉強 | プライベート | 健康 | 心
プログラミング関連のコンテンツ
C言語/C++入門 | Ruby入門 | Python入門 | プログラミング全般
お金 | 仕事 | 勉強 | プライベート | 健康 | 心
プログラミング関連のコンテンツ
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!があります。
スポンサーリンク
>> 次の記事 : scanメソッド
<< 前の記事 : 最短マッチ・貪欲じゃなくする
スポンサーリンク