Python-从字符串中删除不需要的字符

Python-从字符串中删除不需要的字符,python,Python,我有如下字符串,其中包含非ascii字符和其他特殊字符: “Projected Set-tled Balan&ce†456$ 如何删除所有不需要的字符,得到一个干净的字符串,如下面所示,其中只有小字母或大写字母和数字 Project Settled Balance 456 我正试图在正则表达式的帮助下实现它[a-zA-Z0-9]我希望有一种方法返回与此正则表达式匹配的字符串: pat = re.compile('^[A-Za-z0-9 ]+') stripped_str

我有如下字符串,其中包含非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))

但这不会返回任何内容。

这不是您以前从未要求过的正则表达式

''.join([i if ((i == " " )or (ord(i) < 128 and ord(i) >46)) else '' for i in '“Projected Set-tled Balan&ce†456$'])

aString.encode('ascii','ignore')

我的错,我真是太蠢了

一次只写一个字母,如果出现错误,用空字符串替换该字符

这个问题问了很多,但这里有这些


您可以使用
isalnum()
检查字符串中的每个字符是否为字母数字。这不会提供所需的输出。
re.sub(r'[^A-Za-z0-9\s]+','', '“Projected Set-tled Balan&ce†456$')