2014-11-08 65 views
0

請告訴我如何使用正則表達式來分隔單詞。 讓我們假設有串如何使正則表達式將行分爲單詞

String s = "I have dog, cat, gold  fishes. My cat eats :  milk, fish, etc.." 

我需要基於該字符串,看起來像

String[] words = s.split(regexp) 

[我,有,狗,貓,黃金,魚,我,貓,吃String數組,牛奶,魚等]

因此正則表達式必須忽略空格和標點符號(句點,逗號,,,?!)

+2

這是一個非常簡單的任務,如果你瞭解正則表達式的基礎教程,你會找到答案在兩分鐘內。建議:使用find方法更容易。 – 2014-11-08 16:50:55

回答

1

這應該工作:

String[] words = s.split("[\\s,.:]+"); 

要包括所有的標點符號,使用\p{Punct}

String[] words = s.split("[\\s\\p{Punct}]+"); 
+0

你不需要(也不應該)在字符類中轉義'.'。 '「[\\ s,。:] +」'就夠了。 – Pshemo 2014-11-08 17:32:31

+0

@Pshemo我錯過了它。謝謝你的提示。 – manouti 2014-11-08 21:14:09