創(chuàng)新互聯(lián)www.cdcxhl.cn八線動(dòng)態(tài)BGP香港云服務(wù)器提供商,新人活動(dòng)買多久送多久,劃算不套路!
成都創(chuàng)新互聯(lián)公司服務(wù)項(xiàng)目包括濱海新區(qū)網(wǎng)站建設(shè)、濱海新區(qū)網(wǎng)站制作、濱海新區(qū)網(wǎng)頁(yè)制作以及濱海新區(qū)網(wǎng)絡(luò)營(yíng)銷策劃等。多年來(lái),我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢(shì)、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,濱海新區(qū)網(wǎng)站推廣取得了明顯的社會(huì)效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到濱海新區(qū)省份的部分城市,未來(lái)相信會(huì)繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!這篇文章將為大家詳細(xì)講解有關(guān)python找出所有數(shù)字的方法,小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。
python中獲取字符串中所有數(shù)字的方法:
1、使用正則表達(dá)式獲取
# -*- coding: cp936 -*- import re string="A1.45,b5,6.45,8.82" print re.findall(r"\d+\.?\d*",string) # ['1.45', '5', '6.45', '8.82']
代碼編寫(xiě)思路:
既然是提取數(shù)字,那么數(shù)字的形式一般是:整數(shù),小數(shù),整數(shù)加小數(shù);所以一般是形如:—-.—–;
根據(jù)上述正則表達(dá)式的含義,可寫(xiě)出如下的表達(dá)式:”\d+.?\d*”;
\d+ 匹配1次或者多次數(shù)字,注意這里不要寫(xiě)成*,因?yàn)榧幢闶切?shù),小數(shù)點(diǎn)之前也得有一個(gè)數(shù)字;
\.? 這個(gè)是匹配小數(shù)點(diǎn)的,可能有,也可能沒(méi)有;
\d* 這個(gè)是匹配小數(shù)點(diǎn)之后的數(shù)字的,所以是0個(gè)或者多個(gè);
2、通過(guò)循環(huán)遍歷字符串來(lái)獲取字符串中所有數(shù)字
s = "dede323frf54de23" l = len(s) numbers = [] i = 0 while i < l: num = '' symbol = s[i] while '0' <= symbol <= '9': # symbol.isdigit() num += symbol i += 1 if i < l: symbol = s[i] else: break i += 1 if num != '': numbers.append(int(num)) print(numbers)
輸出結(jié)果如下:
[323, 54, 23]
關(guān)于python找出所有數(shù)字的方法就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到。