3 回答

皈依舞
TA貢獻(xiàn)1851條經(jīng)驗(yàn) 獲得超3個贊
使用re.sub,如下所示:
>>> import re
>>> re.sub("\D", "", "aas30dsa20")
'3020'
\D 匹配任何非數(shù)字字符,因此,上面的代碼實(shí)質(zhì)上是將每個非數(shù)字字符替換為空字符串。
或者,您可以filter像這樣使用(在Python 2k中):
>>> filter(lambda x: x.isdigit(), "aas30dsa20")
'3020'
由于在Python 3k中,filter返回的是迭代器而不是list,因此您可以使用以下代碼:
>>> ''.join(filter(lambda x: x.isdigit(), "aas30dsa20"))
'3020'

ibeautiful
TA貢獻(xiàn)1993條經(jīng)驗(yàn) 獲得超6個贊
您可以使用過濾器:
filter(lambda x: x.isdigit(), "dasdasd2313dsa")
在python3.0上,您必須加入這個(有點(diǎn)丑陋的:()
''.join(filter(lambda x: x.isdigit(), "dasdasd2313dsa"))
添加回答
舉報(bào)
0/150
提交
取消