python 從字串中提取資料

2021-09-24 16:54:25 字數 939 閱讀 4749

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.**如下:

1. # -*- coding: cp936 -*-

2. import re

3. 4. string="a1.45,b5,6.45,8.82"

5. print re.findall(r"\d+\.?\d*",string)

6. 7. # ['1.45', '5', '6.45', '8.82']

從字串中提取數字

下面程式將字串中的連續數字提取出來,並存放到一維陣列中。比如說乙個字串 a284twx234 je3432 把 284 234 3432 這3個連續數字提取出來,分別存放到a 0 a 1 a 2 中。include include include int main buf i 0 sscanf bu...

從字串中提取整數

首先說一下我要做的事情 從乙個txt檔案中 存著乙個矩陣 從這個檔案中提取出這個檔案中的整數。矩陣 1 2 3 4 5 6 7 8 0 1 8 7 3 8 2 9 之前用的函式是fgets char fgets char s,int n,file stream 引數 s 字元型指標,指向儲存讀入資料...

python從字串中提取指定內容

我們在做資料處理的時候,會遇到包含多條格式類似的長字串,比如說 recv node1 temperature 26 node1 humidity 48 node2 temperature 36 node2 humidity 48 node3 temperature 24 node3 humidity...