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...