如何在ruby中搜索和替换字符串?

时间:2011-11-09 09:49:27

标签: ruby-on-rails ruby string replace gsub

我尝试使用以下代码搜索字符串模式"]]>*/-->",并使用"*/-->"函数将其替换为gsub

但不是替换整个字符串。它取代了明智的人物..

File.open('reporttestphp2.xml', 'r+') do |f1|     
  while line = f1.gets
    f1.puts line.gsub("]]>*/-->","*/-->")   
  end    
end

如何在Ruby中替换整个字符串模式?

3 个答案:

答案 0 :(得分:7)

gsub工作正常。您只需要以不同的方式阅读文件:

text = File.read("reporttestphp2.xml").gsub("]]>*/-->","*/-->")
File.open("out.xml", "w").write(text)

我希望,这有帮助。

答案 1 :(得分:0)

整个字符串模式是什么意思?如果你想使用正则表达式,那么它们就是在ruby中写成beetween / characers,例如: / \ W + /

Examples

答案 2 :(得分:0)

使用ruby正则表达式常量

执行此操作
gsub(/]]>\*\/-->/, '*/-->')