Rubyで文字列置換するサンプル

文字列の置換には、sub、sub!、gsub、gsub!メソッドを使う

string#sub(置換前パターン,置換後文字列)

  • subは最初のパターンだけを置換。gsubは全てのパターンを置換する。
  • !をつけると、元のインスタンスの内容を変更する。

サンプル

open("hoge.txt"){ |f|
	open("out.txt","w"){ |o|
		while line = f.gets
			line.gsub!("foo","bar")
			o.puts line
		end
	}
}
open("out2.txt","w"){ |o|
	open("hoge.txt").each{ |line|
			o.puts line.gsub("foo","bar")
	}
}

ワンライナーでも可能

ruby -e 'puts File.read("in.txt").gsub(/foo/,"bar")' > out.txt