首頁 > 後端開發 > Python教學 > Python 字串數字提取:正規表示式與 isdigit() - 哪種方法最好?

Python 字串數字提取:正規表示式與 isdigit() - 哪種方法最好?

Mary-Kate Olsen
發布: 2024-12-25 10:47:39
原創
533 人瀏覽過

Python String Number Extraction: Regex vs. isdigit() - Which Method is Best?

如何在Python 中從字串中提取數字:正則表達式與isdigit()

處理同時包含文字和數字的文本資料時,可以從字符串中提取數值所必需的。在 Python 中執行此任務的兩種常見方法是正規表示式和 isdigit() 方法。

正規表示式方法

正規表示式 (regex) 提供了一種強大的方法來匹配字串中的模式。要提取數字,您可以使用 d 模式,它會匹配一位或多位數字。考慮以下範例:

import re

line = "hello 12 hi 89"
numbers = re.findall(r'\d+', line)
print(numbers)
# Output: [12, 89]
登入後複製

此正規表示式符合數字「12」和「89」序列並將它們傳回作為清單。要只匹配由單字邊界(例如空格、句點或逗號)分隔的數字,可以使用b 模式:

numbers = re.findall(r'\b\d+\b', line)
print(numbers)
# Output: [12, 89]
登入後複製

isdigit() 方法方法

isdigit () 方法提供了另一種從字串中提取數字的方法。對於數字字符,此方法傳回 True,否則傳回 False。要使用它,您可以迭代字串並檢查每個字元:

line = "hello 12 hi 89"
numbers = []

for char in line:
    if char.isdigit():
        numbers.append(int(char))
print(numbers)
# Output: [12, 89]
登入後複製

在此範例中,該方法迭代字串中的每個字符,使用isdigit() 檢查它是否是數字,然後如果是,則將其附加到數字列表中。

效能注意事項

通常,使用正規表示式從字串而不是使用 isdigit() 方法。正規表示式可以快速匹配複雜的模式,而 isdigit() 需要迭代整個字串。

負整數注意事項

如果您還需要提取負整數,正規表示式方法提供了一個更簡單的解決方案。只需使用 r'-d ' 來匹配負數。然而,使用 isdigit() 需要更複雜的邏輯來處理負號。

以上是Python 字串數字提取:正規表示式與 isdigit() - 哪種方法最好?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板