繁体   English   中英

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

[英]Python - remove unwanted characters from a string

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

更新了正则表达式

re.sub(r'[^A-Za-z0-9\s]+','', '“Projected Set-tled Balan&ce†456$')

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

我的错,我太愚蠢了

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

这被问了很多,但这里是这些。

如何删除python中的非Ascii字符

用一个空格替换非 ASCII 字符

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM