我有如下字符串,其中包含非 ascii 字符和其他特殊字符: a€?Projected Set-tled Balan&cea€ 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 回答

梵蒂岡之花
TA貢獻1900條經驗 獲得超5個贊
這不是正則表達式,因為您以前沒有要求過
''.join([i if ((i == " " )or (ord(i) < 128 and ord(i) >46)) else '' for i in 'a€?Projected Set-tled Balan&cea€ 456$'])
更新了正則表達式
re.sub(r'[^A-Za-z0-9\s]+','', 'a€?Projected Set-tled Balan&cea€ 456$')

蕭十郎
TA貢獻1815條經驗 獲得超13個贊
aString.encode('ascii', 'ignore')
我的錯,我太愚蠢了
一次只執行一個字母,如果出現錯誤,請用空字符串替換該字符。
這被問了很多,但這里是這些。
添加回答
舉報
0/150
提交
取消