首頁 >後端開發 >Python教學 >如何在Python中高效地從字串中提取數字?

如何在Python中高效地從字串中提取數字?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-12-21 22:50:11231瀏覽

How Can I Efficiently Extract Numbers from Strings in Python?

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

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