首頁 >後端開發 >Python教學 >正規表示式還是'isdigit()”?哪一個最適合在 Python 中從字串中提取數字?

正規表示式還是'isdigit()”?哪一個最適合在 Python 中從字串中提取數字?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-12-20 04:00:10297瀏覽

Regex or `isdigit()`? Which is Best for Extracting Numbers from Strings in Python?

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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn