如何拆分句子,只让ascii字符

时间:2012-09-15 16:22:45

标签: python regex mongodb search

我想拆分一个句子将单词转换为标签(在Mongodb中进行简单的全文搜索),我不想保存逗号或冒号:

phrase = "hello, this is a simple description!"
pattern  = "[\"\'\!\?\:\,\;]"

我试过这个:

re.split(pattern, phrase)
Out[1]: ['hello', ' this is a simple description', ''] # as you can see, i've always blank characters.

我想删除所有“非字母字符”,有phrase.replace(",", " ")但只替换一个字符,那么如何使用正则表达式替换? sssomelike re.remove(pattern, phrase),是否有一个循环,这对服务器来说是一项繁重的工作吗?

2 个答案:

答案 0 :(得分:4)

non-regex解决方案: 使用strip(),但您需要将所有非字母字符传递给它。

类似于:strip(',!*&^%#$;:+')

In [12]: phrase = "hello, this is: a simple; description!!"
In [13]:  [x.strip(',!*&^%#$;:+') for x in phrase.split()]

Out[13]: ['hello', 'this', 'is', 'a', 'simple', 'description']

答案 1 :(得分:2)

如果您拆分非单词字符\W,那么应该只留下一系列单词。