2013-08-27 68 views
2

例如,作爲輸入,我可能會收到"qwer.qwer""qwer qwer"。在這兩種情況下,我需要,所以我得到的結果拆分此字符串:如何通過空格或點分割字符串?

["qwer", "qwer"] 

我可以使用正則表達式作爲spliter,什麼這個正則表達式應該是什麼樣子?

+1

http://www.regular-expressions.info/charclass.html –

回答

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

使用字符類[.\s]

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

謝謝。我需要學習更多的正則表達式)) –

3

做如下使用String#scan代替Strin#split

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

第一個版本在技術上更貼近海報的要求。也許你應該兩個都有。 – nneonneo

+2

@nneonneo不要爲這些愚蠢的東西投票。使用'String#scan'代替'splitting'是很好的選擇。 OP可能不會考慮有'#scan'方法。 –

+0

不是我的downvote – nneonneo