python中獲取字符串中所有數(shù)字的方法:
1、使用正則表達式獲取
#-*-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+匹配1次或者多次數(shù)字,注意這里不要寫成*,因為即便是小數(shù),小數(shù)點之前也得有一個數(shù)字;
\.?這個是匹配小數(shù)點的,可能有,也可能沒有;
\d*這個是匹配小數(shù)點之后的數(shù)字的,所以是0個或者多個;
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) 輸出結果如下: [323,54,23] 以上內(nèi)容為大家介紹了python怎么找出所有的數(shù)字?希望對大家有所幫助,如果想要了解更多Python相關知識,請關注IT培訓機構:千鋒教育。