我正在尝试将句子分解成单词。通常我会使用 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/

10-12 02:24