计算由gsub在Nokogiri::XML::Text类的对象上完成的替换次数



我试图用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

相关内容

  • 没有找到相关文章

最新更新