python找出所有數(shù)字的方法

這篇文章將為大家詳細(xì)講解有關(guān)python找出所有數(shù)字的方法,小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。

十多年專注成都網(wǎng)站制作,企業(yè)網(wǎng)站制作,個(gè)人網(wǎng)站制作服務(wù),為大家分享網(wǎng)站制作知識(shí)、方案,網(wǎng)站設(shè)計(jì)流程、步驟,成功服務(wù)上千家企業(yè)。為您提供網(wǎng)站建設(shè),網(wǎng)站制作,網(wǎng)頁設(shè)計(jì)及定制高端網(wǎng)站建設(shè)服務(wù),專注于企業(yè)網(wǎng)站制作,高端網(wǎng)頁制作,對(duì)餐廳設(shè)計(jì)等多個(gè)領(lǐng)域,擁有豐富的網(wǎng)站運(yùn)維經(jīng)驗(yàn)。

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']

代碼編寫思路:

既然是提取數(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
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í)。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。

分享題目:python找出所有數(shù)字的方法
當(dāng)前鏈接:http://muchs.cn/article30/gesiso.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供、網(wǎng)站設(shè)計(jì)公司、小程序開發(fā)、移動(dòng)網(wǎng)站建設(shè)、自適應(yīng)網(wǎng)站、App開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)