如何删除除字母数字和重音之外的所有特殊字符?
我尝试过类似的事情:
text = 'abcdeáéí.@# '
re.sub(r'[^a-zA-Z0-9áéíóúÁÉÍÓÚâêîôÂÊÎÔãõÃÕçÇ: ]', ' ', text)
但我没有成功。以下表达式只允许使用字母数字而不是重音:
tmp = re.sub(r'[^a-zA-Z0-9: ]', '', x)
有人可以帮助我吗?
答案 0 :(得分:0)
使您的文字成为unicode字符串text = u'abcdeáéí.@# '
,并确保您的模式也能够接受unicode字符re.sub(u'[^a-zA-Z0-9áéíóúÁÉÍÓÚâêîôÂÊÎÔãõÃÕçÇ: ]', ' ', text)
通过这种组合,我得到了u'abcde\xe1\xe9\xed '
(其中\xe1
等是text
如果你没有逃避任何角色,那么在模式前面就不需要r
。它就在那里你可以写r'\d\w'
而不是'\\d\\w'