Heim > Backend-Entwicklung > Python-Tutorial > Python-String-Zahlenextraktion: Regex vs. isdigit() – Welche Methode ist die Beste?

Python-String-Zahlenextraktion: Regex vs. isdigit() – Welche Methode ist die Beste?

Mary-Kate Olsen
Freigeben: 2024-12-25 10:47:39
Original
533 Leute haben es durchsucht

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

So extrahieren Sie Zahlen aus einer Zeichenfolge in Python: Reguläre Ausdrücke vs. isdigit()

Beim Umgang mit Textdaten, die sowohl Text als auch Zahlen enthalten, kann dies der Fall sein notwendig, um die numerischen Werte aus der Zeichenfolge zu extrahieren. Zwei gängige Methoden zum Ausführen dieser Aufgabe in Python sind reguläre Ausdrücke und die Methode isdigit().

Ansatz für reguläre Ausdrücke

Reguläre Ausdrücke (Regex) bieten eine leistungsstarke Möglichkeit, Muster innerhalb einer Zeichenfolge abzugleichen. Um Zahlen zu extrahieren, können Sie das d-Muster verwenden, das einer oder mehreren Ziffern entspricht. Betrachten Sie das Beispiel:

import re

line = "hello 12 hi 89"
numbers = re.findall(r'\d+', line)
print(numbers)
# Output: [12, 89]
Nach dem Login kopieren

Dieser reguläre Ausdruck gleicht die Ziffernfolgen „12“ und „89“ ab und gibt sie als Liste zurück. Um nur Zahlen abzugleichen, die durch Wortgrenzen (z. B. Leerzeichen, Punkte oder Kommas) getrennt sind, können Sie das b-Muster verwenden:

numbers = re.findall(r'\b\d+\b', line)
print(numbers)
# Output: [12, 89]
Nach dem Login kopieren

isdigit()-Methodenansatz

The isdigit ()-Methode bietet eine alternative Möglichkeit, Zahlen aus einer Zeichenfolge zu extrahieren. Diese Methode gibt True für Zeichen zurück, die Ziffern sind, andernfalls False. Um es zu verwenden, können Sie die Zeichenfolge durchlaufen und jedes Zeichen überprüfen:

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

for char in line:
    if char.isdigit():
        numbers.append(int(char))
print(numbers)
# Output: [12, 89]
Nach dem Login kopieren

In diesem Beispiel iteriert die Methode jedes Zeichen in der Zeichenfolge, prüft mit isdigit(), ob es sich um eine Ziffer handelt, und Hängt es an die Zahlenliste an, wenn dies der Fall ist.

Leistungsüberlegungen

Im Allgemeinen ist die Verwendung regulärer Ausdrücke effizienter, um Zahlen aus einer Zeichenfolge zu extrahieren als die Methode isdigit() zu verwenden. Reguläre Ausdrücke können komplexe Muster schnell abgleichen, während isdigit() das Durchlaufen der gesamten Zeichenfolge erfordert.

Hinweis für negative Ganzzahlen

Wenn Sie auch negative Ganzzahlen extrahieren müssen, bietet der Regex-Ansatz eine einfachere Lösung. Verwenden Sie einfach r'-d ', um negative Ziffern abzugleichen. Die Verwendung von isdigit() würde jedoch eine komplexere Logik erfordern, um negative Vorzeichen zu verarbeiten.

Das obige ist der detaillierte Inhalt vonPython-String-Zahlenextraktion: Regex vs. isdigit() – Welche Methode ist die Beste?. 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