Python3學習(五) 從字串中提取數字

2021-08-20 08:22:19 字數 946 閱讀 9143

1.使用正規表示式,用法如下:

## 總結

## ^ 匹配字串的開始。

## $ 匹配字串的結尾。

## \b 匹配乙個單詞的邊界。

## \d 匹配任意數字。

## \d 匹配任意非數字字元。

## x? 匹配乙個可選的 x 字元 (換言之,它匹配 1 次或者 0 次 x 字元)。

## x* 匹配0次或者多次 x 字元。

## x+ 匹配1次或者多次 x 字元。

## x 匹配 x 字元,至少 n 次,至多 m 次。

## (a|b|c) 要麼匹配 a,要麼匹配 b,要麼匹配 c。

## (x) 一般情況下表示乙個記憶組 (remembered group)。你可以利用 re.search 函式返回物件的 groups() 函式獲取它的值。

## 正規表示式中的點號通常意味著 「匹配任意單字元」

2.解題思路:

2.1 既然是提取數字,那麼數字的形式一般是:整數,小數,整數加小數;

2.2 所以一般是形如:----.-----;

2.3 根據上述正規表示式的含義,可寫出如下的表示式:"\d+\.?\d*";

2.4 \d+匹配1次或者多次數字,注意這裡不要寫成*,因為即便是小數,小數點之前也得有乙個數字;\.?這個是匹配小數點的,可能有,也可能沒有;\d*這個是匹配小數點之後的數字的,所以是0個或者多個;

3.**如下:

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

python3中字串問題

在python3中,bytes string和unicodestring是兩種不同的型別。由於python3中,字串str在記憶體中是以unicode表示,乙個字元對應多個位元組。如果在網上傳輸,就需要將str轉化為以位元組為單位的bytes。例如,在做套接字試驗時,客戶端與服務端經行資料傳輸時,不...

Python3中的字串

字串一旦建立不可更改 在字串當中每個字元都是有對應的位置的 位置一般叫做下表或者索引 小標從左到右從零開始一次遞增 在程式中根據下標線對應的資料,下表是寫在中的 建立字串 a hellow word 訪問字串種的某乙個字元 print a 7 字串的運算 加法運算時拼接操作 字串只能和整數相乘,乘幾...

python 3 比較字串

def cmp str first,second,druge 1 比較兩個字串或者字串列表是否相等 第乙個引數是輸入的第乙個字串或者列表 第二個引數是輸入的第二個字串或者列表 第三個引數是比較對應的列表字串還是比較列表中字串的內容 if druge 1 if len first len second...