2014-05-25 17 views
3

我試圖將句子分解爲單詞。通常情況下,我會使用textstring.split(' '),但我還希望分開分開逗號和句點,因此「不,謝謝」將分爲["No", ",", "thank", "you"]而不是["No,", "thank", "you"]在python中分割文本,但將逗號,句點等作爲單獨的'單詞'

我覺得做這樣的:

textstring.replace(",", " ,").replace(".", " .").split(' ') 

但是,這感覺有點哈克。有沒有更好的方法來做到這一點?

+0

你看過['nltk'](http://www.nltk.org/)嗎? – jonrsharpe

回答

3

我們可以分開使用正則表達式這樣

textstring = "No, thank you" 
import re 
print re.findall(r'\w+|\S+', textstring) 
# ['No', ',', 'thank', 'you'] 

\w+分裂他們將得到所有連續的字母數字字符和_\S將得到所有連續的非空格字符。 |表示匹配\w+\S+部分。

相關問題