如何用空格或点分割字符串?

时间:2013-08-27 14:53:12

标签: ruby regex

例如,作为输入,我可能会收到"qwer.qwer""qwer qwer"。在这两种情况下,我都需要拆分此字符串,以便得到结果:

["qwer", "qwer"]

我可以使用正则表达式作为分词符,这个正则表达式看起来像什么?

3 个答案:

答案 0 :(得分:7)

'qwer.qwer'.split(/\s|\./)
# => ["qwer", "qwer"]
'qwer qwer'.split(/\s|\./)
# => ["qwer", "qwer"]

答案 1 :(得分:4)

使用字符类[.\s]

"qwer.qwer".split(/[.\s]/) # => ["qwer", "qwer"]
"qwer qwer".split(/[.\s]/) # => ["qwer", "qwer"]

答案 2 :(得分:3)

使用String#scan而不是Strin#split执行以下操作:

"qwer.qwer".scan(/\w+/)
# => ["qwer", "qwer"]
"qwer qwer".scan(/\w+/)
# => ["qwer", "qwer"]