Heim >Backend-Entwicklung >Python-Tutorial >Wie kann ich in Python effizient Zahlen aus Strings extrahieren?

Wie kann ich in Python effizient Zahlen aus Strings extrahieren?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-12-21 22:50:11327Durchsuche

How Can I Efficiently Extract Numbers from Strings in Python?

Zahlen aus Zeichenfolgen in Python extrahieren

Beim Extrahieren von Zahlen aus Zeichenfolgen in Python können zwei Hauptansätze verwendet werden: reguläre Ausdrücke und die isdigit ()-Methode. Die Wahl hängt von den spezifischen Anforderungen der Aufgabe ab.

Reguläre Ausdrücke

Reguläre Ausdrücke bieten eine vielseitige und leistungsstarke Lösung zum Extrahieren von Zahlen. Mit der Funktion re.findall() können Zahlen innerhalb einer Zeichenfolge durch Angabe eines Musters identifiziert werden. Beispielsweise entspricht r'd ' einer beliebigen Folge von einer oder mehreren Ziffern.

import re

line = "hello 12 hi 89"
numbers = re.findall(r'\d+', line)
print(numbers)  # [12, 89]

Um Zahlen zuzuordnen, die durch Wortgrenzen wie Leerzeichen oder Satzzeichen getrennt sind, verwenden Sie b:

numbers_delim = re.findall(r'\b\d+\b', line)
print(numbers_delim)  # [12, 89]

isdigit()-Methode

Die isdigit()-Methode gibt True zurück, wenn alle Zeichen in einer Zeichenfolge Ziffern sind. Es kann in Verbindung mit String-Slicing und Comprehension verwendet werden, um Zahlen aus einer Zeichenfolge zu extrahieren.

line = "hello 12 hi 89"

numbers = []
for chr in line:
    if chr.isdigit():
        numbers.append(chr)

print(numbers)  # ['1', '2', '8', '9']

Um die extrahierten Ziffern in ganze Zahlen umzuwandeln:

numbers = [int(chr) for chr in numbers]
print(numbers)  # [1, 2, 8, 9]

Fazit

Während sowohl reguläre Ausdrücke als auch die Methode isdigit() zum Extrahieren von Zahlen aus Zeichenfolgen verwendet werden können, ist dies mit regulären Ausdrücken möglich größere Flexibilität und Kontrolle über den Matching-Prozess. Für einfache Extraktionsaufgaben kann jedoch die Methode isdigit() einfacher sein.

Das obige ist der detaillierte Inhalt vonWie kann ich in Python effizient Zahlen aus Strings extrahieren?. 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