我是ruby的新手,希望有人可以帮我弄清楚如何打开文件,然后使用gsub查找并替换多个条件.
这是我到目前为止所得到的,但这似乎不起作用,因为第二个替换var覆盖了第一个:
text = File.read(filepath)
replace = text.gsub(/aaa/, "Replaced aaa with 111")
replace = text.gsub(/bbb/, "Replace bbb with 222")
File.open(filepath, "w") {|file| file.puts replace}
gtd*_*gtd 28
将第三行更改为
replace = replace.gsub(/bbb/, "Replace bbb with 222")
Ada*_*erg 18
你每次都要从原来的"文本"中取代,第二行需要替换替换:
replace = replace.gsub(/bbb/, "Replace bbb with 222")
Ste*_*oss 11
有趣的是,如果您不想重新扫描数据,请使用gsub的块形式:
replace = text.gsub(/(aaa|bbb)/) do |match|
  case match
    when 'aaa': 'Replaced aaa with 111'
    when 'bbb': 'Replace bbb with 222'
  end
end
这可能不是最有效的做事方式,但这是看待问题的另一种方式.如果性能对您很重要,则值得对两种方式进行基准测试
| 归档时间: | 
 | 
| 查看次数: | 21257 次 | 
| 最近记录: |