我正在尝试使用正则表达式来拆分标点符号上的文本,只有当标点符号跟在单词后面,并继续执行空格或字符串结尾时。你知道吗
我试过([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/
您可以先在
([.,](?=\s)|\s)
上拆分,然后过滤掉空字符串或空白字符串:你可以用
参见regex demo。你知道吗
细节
\w+(?:\.\w+)*
-1+字字符,后跟0个或多个点,后跟1+字字符|
-或[^\w\s]
-除单词和空格字符以外的任何字符。你知道吗Python demo:
输出:
['Mr.Smith', 'is', 'a', 'professor', 'at', 'Harvard', ',', 'and', 'is', 'a', 'great', 'guy', '.']
。你知道吗这种方法可以进一步精确。例如,仅将字母、数字和下划线标记为标点符号:
参见regex demo
相关问题 更多 >
编程相关推荐