繁体   English   中英

正则表达式-删除所有特殊字符(字母数字和重音符号除外)

[英]Regular Expression - Remove all special characters except alphanumeric and accents

如何除去字母数字和重音符号以外的所有特殊字符?

我尝试了类似的东西:

text = 'abcdeáéí.@# '
re.sub(r'[^a-zA-Z0-9áéíóúÁÉÍÓÚâêîôÂÊÎÔãõÃÕçÇ: ]', ' ', text)

但是我没有成功。 以下表达式仅允许使用字母数字但不允许带有重音符号:

tmp = re.sub(r'[^a-zA-Z0-9: ]', '', x)

有人可以帮我吗?

将您的文本设置为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'

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM