正则表达式Python-仅保留ASCII和版权符号
我有以下功能仅保留ASCII字符:正则表达式Python-仅保留ASCII和版权符号,python,regex,Python,Regex,我有以下功能仅保留ASCII字符: import re def remove_special_chars(txt): txt = re.sub(r'[^\x00-\x7F]+', '', txt) return txt 但现在我还想保留版权符号()。我应该向图案添加什么?将版权符号的十六进制\xA9()添加到您的匹配组: txt = re.sub(r'[^\x00-\x7F\xA9]+', '', txt) 从Python3.8开始,Unicode字符名可以通过\N{nam
import re
def remove_special_chars(txt):
txt = re.sub(r'[^\x00-\x7F]+', '', txt)
return txt
但现在我还想保留版权符号()。我应该向图案添加什么?将版权符号的十六进制
\xA9
()添加到您的匹配组:
txt = re.sub(r'[^\x00-\x7F\xA9]+', '', txt)
从Python3.8开始,Unicode字符名可以通过
\N{name}
转义
所以版权符号可以像r'\N{copyright SIGN}'
那样使用
就你而言
import re
s = "Python® Copyright ©2001-2019"
re.sub(r'[^\x00-\x7F\N{COPYRIGHT SIGN}]+', '', s)
这给
'Python Copyright ©2001-2019'
如您所见,“®”已被删除。版权符号为
Dec:169 Hex:A9