Python只重复单词和数字

时间:2013-03-29 18:40:27

标签: python regex

我正在尝试替换所有出现的~,!,@,#,$,%,^,&和其他一些字符,还会删除标签,新行和多个空格。我只想清理并有文字和数字。

举个例子:

test! should be test
<script> should be script
test   test should be test test.

我尝试使用re.sub('[/.!,;+()]#-&?=<>|%$', ' ', string);。这取代了其中一些但是当我添加更多字符来替换它时它停止了工作。建议?

2 个答案:

答案 0 :(得分:1)

看起来您将新字符放在字符类框之外。

试试这个。

re.sub('[/.!,;+()#&?=<>|%$-]', ' ', string);

答案 1 :(得分:0)

有些(如果不是全部)这些字符都是特殊的正则表达式字符,而正则表达式引擎将它们解释为文字字符。

更好地处理您所要求的内容的方法是删除所需字符集中所有字符“

”。

re.sub(r'[^0-9A-Za-Z \.]', '', input)

删除多个空格要复杂一点。

re.sub(r'\s{2,}', '', input)

删除任何空格两次或更多次。