我正在尝试将句子分解成单词。通常我会使用 textstring.split(' ')
,但我也希望将逗号和句点分开,因此“不,谢谢”将被拆分为 ["No", ",", "thank", "you"]
而不是 ["No,", "thank", "you"]
。
我想这样做:
textstring.replace(",", " ,").replace(".", " .").split(' ')
但这感觉有点hacky。有没有更好的方法来做到这一点?
最佳答案
我们可以用这样的正则表达式将它们分开
textstring = "No, thank you"
import re
print re.findall(r'\w+|\S+', textstring)
# ['No', ',', 'thank', 'you']
\w+
将获得所有连续的字母数字字符, _
, \S
将获得所有连续的非空格字符。 |
表示匹配 \w+
或 \S+
部分。关于python - 在 python 中拆分文本,但将逗号、句点等视为单独的 'words',我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23855005/