うめすこんぶ

日々のプログラミングで残しておきたいメモ.何かの役に立てれば幸いです.

rubyで正規表現にマッチした文字列部分だけを消す方法

スポンサーリンク

ある文字列から正規表現に一致した部分文字列を見つけることは多くありますが、逆に、一致した部分を抜いた文字列を作るにはどうしたらいいでしょう。

自分の見つけた方法では、gsub()を使えば可能です。

p "ab%c$de  f".gsub(/[%$\s]/, "")

出力:

"abcdef"

単に空文字に置き換えているだけです。

前後の空白文字を削除するstrip()というメソッドもありますが、スペースやタブ、改行をまとめて消してしまいます。 一方、gsubを使えばスペースを残してタブだけ消す、などのやり方も可能で、応用範囲は広いです。