我正在尝试替换所有出现的~,!,@,#,$,%,^,&
和其他一些字符,还会删除标签,新行和多个空格。我只想清理并有文字和数字。
举个例子:
test! should be test
<script> should be script
test test should be test test.
我尝试使用re.sub('[/.!,;+()]#-&?=<>|%$', ' ', string);
。这取代了其中一些但是当我添加更多字符来替换它时它停止了工作。建议?
答案 0 :(得分:1)
看起来您将新字符放在字符类框之外。
试试这个。
re.sub('[/.!,;+()#&?=<>|%$-]', ' ', string);
答案 1 :(得分:0)
有些(如果不是全部)这些字符都是特殊的正则表达式字符,而正则表达式引擎将它们解释为文字字符。
更好地处理您所要求的内容的方法是删除所需字符集中所有字符“
”。re.sub(r'[^0-9A-Za-Z \.]', '', input)
删除多个空格要复杂一点。
re.sub(r'\s{2,}', '', input)
删除任何空格两次或更多次。