用下面的表达式:
words = string.scan(/\b\S+\b/i)
我正在尝试使用单词边界和不区分大小写来扫描字符串,所以如果我有:
string = "A ball a Ball"
然后当我有这个each
块时:
words.each { |word| result[word] += 1 }
我期待这样的事情:
{"a"=>2, "ball"=>2}
但相反,我得到的是:
{"A"=>1, "ball"=>1, "a"=>1, "Ball"=>1}
在这件事不起作用之后,我尝试创建一个新的正则表达式,例如:
Regexp.new(Regexp.escape(string), "i")
但后来我不知道如何使用它或从这里继续前进。