我试图将句子分解成单词。通常情况下我会使用textstring.split(' ')
,但我也希望单独拆分逗号和句号,所以“不,谢谢”将分为["No", ",", "thank", "you"]
而不是["No,", "thank", "you"]
。< / p>
我想过这样做:
textstring.replace(",", " ,").replace(".", " .").split(' ')
但这感觉有点哈哈。有没有更好的方法呢?
答案 0 :(得分:5)
我们可以使用像这样的正则表达式将它们分开
textstring = "No, thank you"
import re
print re.findall(r'\w+|\S+', textstring)
# ['No', ',', 'thank', 'you']
\w+
将获得所有连续的字母数字字符,_
,\S
将获得所有连续的非空格字符。 |
表示匹配\w+
或\S+
部分。