Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 如何在ruby中搜索和替换字符串?_Ruby On Rails_Ruby_String_Replace_Gsub - Fatal编程技术网

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

Ruby on rails 如何在ruby中搜索和替换字符串?,ruby-on-rails,ruby,string,replace,gsub,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中的整个字符串模式?您所说的整个字符串模式是什么意思?如果你想

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

但不是替换整个字符串。它取代了字符

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

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

您所说的整个字符串模式是什么意思?如果你想使用正则表达式,它们是用ruby写成的,例如/\w+/


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

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

我希望,这会有所帮助。

要使用ruby正则表达式常量执行此操作

gsub(/]]>\*\/-->/, '*/-->')
“]]>*/-->”和“*/-->”不是正则表达式。。我想把它作为字符串模式。。?我尝试使用pattern=“]]>*/-->”f1.puts line.gsub(patter,“*/-->”)之类的变量保存它,但它不起作用。。