Python 中從字串中提取數字
從字串中提取數字可以使用正規表示式或isdigit() 方法來實現。讓我們比較一下這些方法,以確定哪種方法更適合該目的。
正規表示式
正規表示式為符合字串中的模式提供了強大的工具。要提取數字,您可以使用以下正規表示式:
r'\d+'
此表達式匹配包含一位或多位十進制數字的字串。例如,考慮字串“hello 23 hi 33”。以下程式碼將使用正規表示式來擷取數字:
import re line = "hello 23 hi 33" result = re.findall(r'\d+', line) print(result) # [23, 33]
isdigit() 方法
isdigit() 方法是一種更簡單的方法來測試是否一個字元是一個十進制數字。但是,它不提供提取整個數字的能力。要使用isdigit(),您需要逐個字元地遍歷字串:
line = "hello 23 hi 33" result = [] for char in line: if char.isdigit(): result.append(int(char)) print(result) # [2, 3, 3]
比較
最終,正規表示式和isdigit 之間的選擇()方法取決於具體用例。正規表示式為複雜的模式匹配和提取提供了更大的靈活性。它們還支援單字邊界 (b) 等功能,用於匹配由空格包圍的數字。
對於從字串中簡單提取數字,isdigit() 方法可能就足夠了。然而,對於更複雜的情況或需要提取整個數字,正規表示式提供了更全面的解決方案。
以上是正規表示式還是'isdigit()”?哪一個最適合在 Python 中從字串中提取數字?的詳細內容。更多資訊請關注PHP中文網其他相關文章!