我有如下所示的字符串,其中包含非ASCII字符和其他特殊字符:
“Projected Set-tled Balan&ce†456$
如何删除所有那些不需要的字符并获得一个干净的字符串,如下所示,该字符串仅包含小写或大写字母和数字。
Project Settled Balance 456
我正试图在正则表达式[a-zA-Z0-9 ]
的帮助下实现此目标,我期望有一种返回与该正则表达式匹配的字符串的方法:
pat = re.compile('^[A-Za-z0-9 ]+')
stripped_string = string.strip().lower()
print(stripped_string)
print(pat.match(stripped_string))
但这不会返回任何内容。
答案 0 :(得分:1)
这不是正则表达式,因为您之前从未要求过
''.join([i if ((i == " " )or (ord(i) < 128 and ord(i) >46)) else '' for i in '“Projected Set-tled Balan&ce†456$'])
已更新正则表达式
re.sub(r'[^A-Za-z0-9\s]+','', '“Projected Set-tled Balan&ce†456$')
答案 1 :(得分:0)
aString.encode('ascii', 'ignore')
我的坏,对我来说很愚蠢
一次只能执行一个字母,如果遇到错误,请用一个空字符串替换该字符。
问了很多,但这是这些。