我从StackOverflow得到一个正则表达式,用于删除停止词:
def killStopWords(stringsList):
pattern = re.compile("\\b(a|y|o|un|una|unas|unos|que|k|d|el|la|los|les|las|pq|xq|en|como|me|con|de)\\W", re.I)
return [pattern.sub("", aString) for aString in stringsList]
但是我注意到它在某些情况下无法正常工作,例如:
test = killStopWords(['alegría es un amor', 'la papelería afición con ilusión'])
for k in test:
print k
将打印:
alegríes amor
papeleríafición ilusión
而不是:
alegría, es, amor, papelería, afición, ilusión
应该是这样的
它看起来像是删除字符旁边的那些含有口音
去掉空白,用
,
连接看起来你想用你的模式匹配整个单词,而不是单词的一部分,对吗
如果是这样,那么您可以使用以“word boundary”开头和结尾的模式,即\b
比如:
相关问题 更多 >
编程相关推荐