2012-03-02 257 views
1

什麼是高達分割字符串轉換成的「單詞」數組的最佳方式。 按空格拆分,也用短劃線拆分,其中破折號成爲前一個「單詞」的一部分。分割字符串

實施例:

「這是一個例子,字符串

演示我的意思」

[ 「這」, 「是」, 「一個」, 「實施例 - 」,「字符串」, 「來」, 「演示」, 「做什麼」, 「我」, 「中庸」]

編輯:我是個白癡 - 它是這樣的:

someString.replace(/-/g, "- ").split(/[\s]/); // retain dashes 

回答

6

Splittin如果分隔符應該留在結果中,g將不起作用,因爲分隔符總是被佔用。

使用.match代替:

"This is an example-string to demo what I mean".match(/[^\s-]+-?/g); 
// ["This", "is", "an", "example-", "string", "to", "demo", "what", "I", "mean"] 

這正則表達式匹配一個或多個字符不是空格/破折號,並按照它的可選衝刺。使用g標誌,將返回所有匹配項。

+0

你回答,因爲我是編輯用的解決方案,我張貼後一分鐘內想出了這個問題。你的方法比我的更好嗎? – Adamarla 2012-03-02 14:59:59

+0

@adamarla:看起來他們的行爲是一樣的,除非一個詞以破折號開頭。 – pimvdb 2012-03-02 15:11:25

+0

啊,是的,最初的破折號可能很重要:「-12.85是否定的」 – Adamarla 2012-03-02 15:38:14