我试图用ruby中使用gsub的Nokogiri::XML::Text类对象中的一些字符串替换给定的模式..参见下面的命令
#str is of class Nokogiri::XML::Text
str.content = str.content.gsub(pattern,replacing_word)
现在我想打印每次替换的一些东西,也想知道gsub所做的替换的数量,所以我写了下面的命令
count = 0
str.content = str.content.gsub(pattern,replacing_word) { count += 1
puts "some text"}
上面的命令是用replacing_string替换给定的模式,但是gsub的主体部分没有被执行,既没有任何打印语句也没有对计数进行任何增量操作。即使我尝试在主体中放置语句,它也不打印,尽管这个gsub在"str"
中做了许多替换如果有人知道gsub命令有什么问题,请告诉我
试试下面的代码片段,
content = content.gsub(pattern) {|m| count +=1; m.replace(replacing_word)}
My Testing Code
#!/usr/bin/env ruby
pattern = "a";
content = "abaccaa"
replacing_word = "z"
count = 0
content = content.gsub(pattern) {|m| count +=1; m.replace(replacing_word)}
puts content;
puts count;
输出zbzcczz
4
——SJ