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

时间:2022-01-17 16:49:28

I tried the below code to search the string pattern "]]>*/-->" and replace it with "*/-->" using gsub function.

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

but instead of replacing whole string. it replaces character wise..

而不是替换整个字符串。它取代性格聪明. .

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

How can I replace the whole string pattern in Ruby?

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

3 个解决方案

#1


6  

The gsub works fine. You just need to read the file in a different way:

gsub工作好。你只需要以不同的方式阅读文件:

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

I hope, that helps.

我希望,这对我很有帮助。

#2


0  

What do you mean by whole string pattern? If you want to use regular expressions, they are written beetween / characers in ruby, e.g. /\w+/

你说的整个弦模式是什么意思?如果你想使用正则表达式,它们都是用ruby写的,例如/\w+/。

Examples

例子

#3


0  

To do this using a ruby regex constant,

要使用ruby regex常量来实现这一点,

gsub(/]]>\*\/-->/, '*/-->')

#1


6  

The gsub works fine. You just need to read the file in a different way:

gsub工作好。你只需要以不同的方式阅读文件:

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

I hope, that helps.

我希望,这对我很有帮助。

#2


0  

What do you mean by whole string pattern? If you want to use regular expressions, they are written beetween / characers in ruby, e.g. /\w+/

你说的整个弦模式是什么意思?如果你想使用正则表达式,它们都是用ruby写的,例如/\w+/。

Examples

例子

#3


0  

To do this using a ruby regex constant,

要使用ruby regex常量来实现这一点,

gsub(/]]>\*\/-->/, '*/-->')