Как найти и заменить строку в ruby? - PullRequest
2 голосов
/ 09 ноября 2011

Я попробовал приведенный ниже код для поиска строкового шаблона "]]>*/-->" и заменил его на "*/-->", используя функцию gsub.

, но вместо замены всей строки.он заменяет символьные символы ..

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

Как заменить шаблон всей строки в Ruby?

Ответы [ 3 ]

7 голосов
/ 09 ноября 2011

gsub работает нормально. Вам просто нужно прочитать файл по-другому:

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

Надеюсь, это поможет.

0 голосов
/ 10 января 2014

Для этого используется константа регулярного выражения ruby,

gsub(/]]>\*\/-->/, '*/-->')
0 голосов
/ 09 ноября 2011

Что вы подразумеваете под цепочкой?Если вы хотите использовать регулярные выражения, они пишутся между / characers в ruby, например, / \ w + /

Примеры

...