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

时间:2019-03-28 19:51:15

标签: python

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

但这不会返回任何内容。

2 个答案:

答案 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')

我的坏,对我来说很愚蠢

一次只能执行一个字母,如果遇到错误,请用一个空字符串替换该字符。

问了很多,但这是这些。

How to remove nonAscii characters in python

Replace non-ASCII characters with a single space