在Python 中從字串中提取數字
在Python 中從字串中提取數字時,可以採用兩種主要方法:正規表示式和isdigit () 方法。選擇取決於任務的特定要求。
正規表示式
正規表示式為擷取數字提供了多功能且強大的解決方案。使用 re.findall() 函數,可以透過指定模式來識別字串中的數字。例如,r'd ' 符合一個或多個數字的任何序列。
import re line = "hello 12 hi 89" numbers = re.findall(r'\d+', line) print(numbers) # [12, 89]
要符合由單字邊界(例如空格或標點符號)分隔的數字,請使用b:
numbers_delim = re.findall(r'\b\d+\b', line) print(numbers_delim) # [12, 89]
isdigit() 方法
如果所有字元都在isdigit() 方法中,則傳回True字串是數字。它可以與字串切片和理解結合使用,從字串中提取數字。
line = "hello 12 hi 89" numbers = [] for chr in line: if chr.isdigit(): numbers.append(chr) print(numbers) # ['1', '2', '8', '9']
將提取的數字轉換為整數:
numbers = [int(chr) for chr in numbers] print(numbers) # [1, 2, 8, 9]
結論
雖然正規表示式和isdigit() 方法都可以用於從字串、正規表示式提供了更大的靈活性和對匹配過程的控制。然而,對於簡單的提取任務, isdigit() 方法可以更直接。
以上是如何在Python中高效地從字串中提取數字?的詳細內容。更多資訊請關注PHP中文網其他相關文章!