python中獲取字符串中所有數(shù)字的方法:
1、使用正則表達(dá)式獲取
#-*-coding:cp936-*-
importre
string="A1.45,b5,6.45,8.82"
printre.findall(r"\d+\.?\d*",string)
#['1.45','5','6.45','8.82']
代碼編寫思路:
既然是提取數(shù)字,那么數(shù)字的形式一般是:整數(shù),小數(shù),整數(shù)加小數(shù);所以一般是形如:—-.—–;
根據(jù)上述正則表達(dá)式的含義,可寫出如下的表達(dá)式:”\d+.?\d*”;
\d+匹配1次或者多次數(shù)字,注意這里不要寫成*,因?yàn)榧幢闶切?shù),小數(shù)點(diǎn)之前也得有一個(gè)數(shù)字;
\.?這個(gè)是匹配小數(shù)點(diǎn)的,可能有,也可能沒有;
\d*這個(gè)是匹配小數(shù)點(diǎn)之后的數(shù)字的,所以是0個(gè)或者多個(gè);
2、通過循環(huán)遍歷字符串來獲取字符串中所有數(shù)字
s="dede323frf54de23"
l=len(s)
numbers=[]
i=0
whilei num='' symbol=s[i] while'0'<=symbol<='9':#symbol.isdigit() num+=symbol i+=1 ifi symbol=s[i] else: break i+=1 ifnum!='': numbers.append(int(num)) print(numbers) 輸出結(jié)果如下: [323,54,23] 以上內(nèi)容為大家介紹了python怎么找出所有的數(shù)字?希望對(duì)大家有所幫助,如果想要了解更多Python相關(guān)知識(shí),請(qǐng)關(guān)注IT培訓(xùn)機(jī)構(gòu):千鋒教育。