我正在寻找在Ruby中正则表达式处理文本文件的惯用方法,这是迄今为止我能够提出的最好的方法。它会删除所有"
个字符:
#!/usr/bin/env ruby
src_name = ARGV[0]
dest_name = ARGV[1]
File.open(src_name, "r+") { |f|
new_lines = f.map { |l|
l = l.gsub(/"/,'')
}
dest_file = File.new(dest_name,"w")
new_lines.each { |l|
dest_file.puts l
}
}
必须有更好的东西。例如:
答案 0 :(得分:2)
#!/usr/bin/env ruby
STDOUT << STDIN.read.gsub(/"/,'')
答案 1 :(得分:1)
如果您要进行简单的替换,可以在命令行执行此操作:
ruby -e '$_.gsub!(/"/,"")' -i.bak -p INPUT_FILE.txt
它运行你传递给-e标志的任何参数,用结果替换INPUT_FILE.txt的内容,只是为了安全保存原始文件的副本,扩展名为.bak。