08/12/13 10:35:39
元のファイルを読み込んで新規にファイルを作成し、
その内容を置換する作業を一括してやりたいと思っています。
色々と実験しているのですが通常の置換はできても正規表現による置換ができません。
試している元のファイル「 in.txt 」の内容は、
|青空文庫《あおぞらぶんこ》
へのへの
です。この内容を出力して置換するために書いた「 test.rb 」の内容が次です。
open("in.txt","r"){ |元ファイル|
open("out.txt","w"){ |出力と置換後のファイル|
while line = 元ファイル.gets
line.gsub!("(|)(.+?)(《)(.+?)(》)","\4\3\2\1") #正規表現による置換。変化なし。
line.gsub!("へのへの","もへじ") #通常の置換。OK。
出力と置換後のファイル.puts line
end
}
}
これによって出力された「 out.txt 」の内容が次のものです。
|青空文庫《あおぞらぶんこ》
もへじ
通常の置換は成功していますが、正規表現による置換に変化がありません。
どうすれば良いのでしょうか。