Heim > Backend-Entwicklung > Python-Tutorial > Wie kann ich alle Vorkommen eines Teilstrings in einem Python-String finden?

Wie kann ich alle Vorkommen eines Teilstrings in einem Python-String finden?

Linda Hamilton
Freigeben: 2024-12-22 00:53:38
Original
831 Leute haben es durchsucht

How Can I Find All Occurrences of a Substring in a Python String?

Alle Vorkommen eines Teilstrings finden

Python bietet umfangreiche Möglichkeiten zur String-Manipulation, einschließlich der Funktionen string.find() und string.rfind( ), die das erste Vorkommen einer Teilzeichenfolge vom Anfang bzw. Ende abrufen. Diese Funktionen reichen jedoch nicht aus, wenn wir alle Vorkommen einer Teilzeichenfolge finden möchten.

Lösung: Nutzung regulärer Ausdrücke

In Ermangelung einer integrierten „Zeichenfolge“. Mit der Funktion „.find_all()“ können wir die Leistungsfähigkeit regulärer Ausdrücke nutzen:

import re

text = "test test test test"

# Find all occurrences of "test"
matches = [m.start() for m in re.finditer('test', text)]

# Print the found indexes
print(matches)  # [0, 5, 10, 15]
Nach dem Login kopieren

Diese Lösung iteriert über das Ergebnis von re.finditer('test', text), ein Generator, der für jedes entdeckte Vorkommen Übereinstimmungsobjekte liefert. Durch Extrahieren der start()-Eigenschaft aus jeder Übereinstimmung erhalten wir eine Liste von Indizes, die die Position der Teilzeichenfolge in der Originalzeichenfolge darstellen.

Umgang mit überlappenden Übereinstimmungen

If Überlappende Übereinstimmungen sind zulässig. Sie können durch Verwendung von Lookahead-Behauptungen im regulären Ausdruck erfasst werden:

matches = [m.start() for m in re.finditer('(?=tt)', 'ttt')]
# [0, 1]
Nach dem Login kopieren

Performing Rückwärtssuchen

Um eine Rückwärtssuche ohne Überschneidungen durchzuführen, kann eine Kombination aus positivem und negativem Lookahead verwendet werden:

search = 'tt'
matches = [m.start() for m in re.finditer('(?=%s)(?!.{1,%d}%s)' % (search, len(search)-1, search), 'ttt')]
# [1]
Nach dem Login kopieren

Durch die Verwendung regulärer Ausdrücke können wir effektiv identifizieren und alle Vorkommen eines Teilstrings in einem Python-String abrufen.

Das obige ist der detaillierte Inhalt vonWie kann ich alle Vorkommen eines Teilstrings in einem Python-String finden?. 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