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+/。
例子
#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+/。
例子
#3
0
To do this using a ruby regex constant,
要使用ruby regex常量来实现这一点,
gsub(/]]>\*\/-->/, '*/-->')