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
Freigeben: 2024-12-20 04:00:10
Original
295 Leute haben es durchsucht

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+'
Nach dem Login kopieren

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]
Nach dem Login kopieren

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]
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage