如何通过python删除字符串中的所有特殊字符?

时间:2016-03-01 09:11:38

标签: python regex

我想删除所有特殊字符,例如'|','。'或字符串中的'$'。

这是我的代码:

string= '#$#&^&#$@||||123515'
re.sub(r'[^a-zA-Z0-9]', '', string)
print(string)

输出:

#$#&^&#$@||||123515

我知道这个正则表达式意味着删除除数字,a-z和A-Z之外的所有内容。

但它无法删除所有特殊字符。

有人可以告诉我为什么吗?谢谢! :)

2 个答案:

答案 0 :(得分:3)

这应该有所帮助:

>>> import re
>>> string= '#$#&^&#$@||||123515'
>>> string = re.sub('[\W\_]','',string)
>>> string
'123515' 

答案 1 :(得分:1)

您的代码问题:您必须将 re 的响应存储在 string 变量中,如 string = re.sub( '[^ A-Za-z0-9] +','',字符串)。然后执行 print(string)





替代解决方案:即使不使用正则表达式,您也可以实现此目的:< / p>&#XA;&#XA;

 <代码>&GT;&GT;&GT; string ='#$#&amp; ^&amp;#$ @ |||| 123515'&#xA;&gt;&gt;&gt; ''。join(e表示e.isalnum()中的字符串e)&#xA; 123515&#xA;  
&#xA;