我正在使用带有正则表达式的扫描函数,该函数返回以下对象。扫描结果分配给h。
当我调用h [0]但是我只收到somedata1的一个实例,即使多次出现也是如此。如何过滤结果以便我可以计算匹配字符串的每个实例?
#<MatchData "somedata1">, #<MatchData "somedata1">, #<MatchData "somedata2">
++++++++++++++++++++++++++++++++++++++++++++++++ +++++++++++++++++++++++++++
"sometext".to_enum(:scan, /someregex/).map { Regexp.last_match }
答案 0 :(得分:0)
您可以使用count
计算结果。
h
是一个数组,所以你可以做
h.count
答案 1 :(得分:0)
扫描时应该计算它 或使用group_by
r = a.group_by{|s| s.data}
r.each{|k,v| p k + "=" + v.count.to_s}
答案 2 :(得分:0)
事实证明,简单地循环/显示#<MatchData "">
的每个实例都可以解决问题