我试图使用正则表达式在标点符号上拆分文本,仅当标点符号在单词后面并在空格或字符串末尾使用时。

我试过了([a-zA-Z])([,;.-])(\s|$)

但是当我想在Python中拆分时,它包括单词的最后一个字符。

我想这样分割它:

text = 'Mr.Smith is a professor at Harvard, and is a great guy.'
splits = ['Mr.Smith', 'is', 'a', 'professor', 'at', 'Harvard', ',', 'and', 'a', 'great', 'guy', '.']


任何帮助将不胜感激!

最佳答案

看来您想进行标记化。尝试nltk

http://text-processing.com/demo/tokenize/

from nltk.tokenize import TreebankWordTokenizer
splits = TreebankWordTokenizer().tokenize(text)

09-25 20:10