2

我尝试了以下代码来搜索字符串模式"]]>*/-->"并将其替换为"*/-->"usinggsub函数。

但不是替换整个字符串。它明智地替换了字符..

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

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

4

3 回答 3

7

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

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

我希望,这会有所帮助。

于 2011-11-09T09:56:37.500 回答
0

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

例子

于 2011-11-09T09:55:58.803 回答
0

为此,请使用 ruby​​ 正则表达式常量,

gsub(/]]>\*\/-->/, '*/-->')
于 2014-01-10T04:41:49.997 回答