我正在尝试找到执行以下操作的正则表达式。假设我有一个这种形式的字符串
wordcount = "THE:12 IT:3 TO:3".
这是一个单词及其频率。我需要一个可以找到例如THe
的正则表达式,然后是:
,后跟一个数字。
答案 0 :(得分:5)
如果您想要所有匹配项都使用扫描方法:
mystring.scan(/\w+:\d+/)
如果您打算制作哈希值,可以获得奖金:
Hash[mystring.scan(/(\w+):(\d+)/)]
# or, if you prefer to not use regexp:
Hash[x.split.map{|y| y.split(':')}]
答案 1 :(得分:0)
您可以执行以下操作:
s = "THE:12 IT:3 TO:3"
p s.scan(/\w+:\d+/)
# >> ["THE:12", "IT:3", "TO:3"]