替换Python中英文字母表之外的任何字符?

2024-04-26 23:07:11 发布

您现在位置:Python中文网/ 问答频道 /正文

如何替换英文字母表之外的任何字符?在

例如,“abcdükl*m”替换为“abcdükl m”


Tags: 字符字母表abcdkl
3条回答

搜索[^a-zA-Z]并替换为“”

使用regex[^a-zA-Z]

re.sub(r'[^a-zA-Z]', '', mystring)

一些信息:a-zA-Z是字符范围,分别表示所有小写字母和大写字母,字符类开头的插入符号{}表示否定,例如“除这些以外的任何内容”。在

假设您正在尝试规范化文本,请参阅“Comprehensive character replacement module in python for non-unicode and non-ascii for HTML”下的链接。在

unicodedata有一个normalize方法,可以为您优雅地降级文本:

import unicodedata
def gracefully_degrade_to_ascii( text ):
    return unicodedata.normalize('NFKD',text).encode('ascii','ignore')

完整文档-http://docs.python.org/library/unicodedata.html

如果您只是想去掉非ASCII字符,那么其他人提到的被否定的字符集regex就是一种方法。在

相关问题 更多 >