Heim >Backend-Entwicklung >Python-Tutorial >Regex oder „isdigit()'? Welches eignet sich am besten zum Extrahieren von Zahlen aus Zeichenfolgen in Python?

Regex oder „isdigit()'? Welches eignet sich am besten zum Extrahieren von Zahlen aus Zeichenfolgen in Python?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-12-20 04:00:10299Durchsuche

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

Extrahieren von Zahlen aus Strings in Python

Das Extrahieren von Zahlen aus einem String kann entweder mithilfe regulärer Ausdrücke oder der Methode isdigit() erreicht werden. Vergleichen wir die Ansätze, um festzustellen, welcher für den Zweck besser geeignet ist.

Reguläre Ausdrücke

Reguläre Ausdrücke bieten ein leistungsstarkes Werkzeug zum Abgleichen von Mustern in Zeichenfolgen. Um Zahlen zu extrahieren, können Sie den folgenden regulären Ausdruck verwenden:

r'\d+'

Dieser Ausdruck gleicht Zeichenfolgen ab, die eine oder mehrere Dezimalstellen enthalten. Betrachten Sie zum Beispiel die Zeichenfolge „Hallo 23, Hallo 33“. Der folgende Code verwendet den regulären Ausdruck, um die Zahlen zu extrahieren:

import re

line = "hello 23 hi 33"

result = re.findall(r'\d+', line)

print(result)  # [23, 33]

isdigit()-Methode

Die isdigit()-Methode ist ein einfacherer Ansatz zum Testen, ob Ein Zeichen ist eine Dezimalziffer. Es bietet jedoch nicht die Möglichkeit, Zahlen als Ganzes zu extrahieren. Um isdigit() zu verwenden, müssten Sie die Zeichenfolge Zeichen für Zeichen durchlaufen:

line = "hello 23 hi 33"

result = []

for char in line:
    if char.isdigit():
        result.append(int(char))

print(result)  # [2, 3, 3]

Vergleich

Letztendlich die Wahl zwischen regulären Ausdrücken und isdigit ()-Methode hängt vom jeweiligen Anwendungsfall ab. Reguläre Ausdrücke bieten mehr Flexibilität für den komplexen Mustervergleich und die Extraktion. Sie unterstützen auch Funktionen wie Wortgrenzen (b) für übereinstimmende Zahlen, die von Leerzeichen umgeben sind.

Für die einfache Extraktion von Zahlen aus einer Zeichenfolge kann die Methode isdigit() ausreichend sein. Für komplexere Fälle oder wenn die Extraktion von Zahlen als Ganzes erforderlich ist, bieten reguläre Ausdrücke jedoch eine umfassendere Lösung.

Das obige ist der detaillierte Inhalt vonRegex oder „isdigit()'? Welches eignet sich am besten zum Extrahieren von Zahlen aus Zeichenfolgen in Python?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn