Python Finde alle Vorkommen in String

Vaibhhav Khetarpal 30 Januar 2023
  1. Verwenden Sie die Funktion string.count(), um alle Vorkommen eines Teilstrings in einem String in Python zu finden
  2. Verwenden Sie List Comprehensions und startswith(), um alle Vorkommen eines Teilstrings in einem String in Python zu finden
  3. Verwenden Sie re.finditer(), um alle Vorkommen eines Teilstrings in einem String in Python zu finden
Python Finde alle Vorkommen in String

Ein Teilstring in Python ist ein Cluster von Zeichen, der in einem anderen String vorkommt. Der Umgang mit TeilZeichenketten kann oft mühsam sein. Ein solches Problem besteht darin, alle Vorkommen einer TeilZeichenkette innerhalb einer bestimmten Zeichenkette zu finden.

In diesem Tutorial werden verschiedene Methoden erläutert, um alle Vorkommen eines Teilstrings innerhalb einer Zeichenkette in Python zu finden.

Verwenden Sie die Funktion string.count(), um alle Vorkommen eines Teilstrings in einem String in Python zu finden

string.count() ist eine in Python eingebaute Funktion, die die Anzahl oder Anzahl der Vorkommen eines Teilstrings in einem bestimmten String zurückgibt. Darüber hinaus verfügt es über die zusätzlichen Parameter start und end, um die Indizes der Start- und Endpositionen anzugeben.

Die Methode count() durchläuft den String und gibt zurück, wie oft ein bestimmter Teilstring im String vorgekommen ist.

Der folgende Code verwendet die Funktion string.count(), um alle Vorkommen eines Teilstrings in einem String zu finden.

# defining string and substring
str1 = "This dress looks good; you have good taste in clothes."
substr = "good"

# occurrence of word 'good' in whole string
count1 = str1.count(substr)
print(count1)

# occurrence of word 'good' from index 0 to 25
count2 = str1.count(substr, 0, 25)
print(count2)

Ausgabe:

2
1

Es ist eine einfache Methode und funktioniert in jedem Fall. Der einzige Nachteil dieser Methode besteht darin, dass sie nicht die verschiedenen Indizes zurückgibt, bei denen die TeilZeichenkette in der Zeichenkette auftritt.

Verwenden Sie List Comprehensions und startswith(), um alle Vorkommen eines Teilstrings in einem String in Python zu finden

Diese Methode benötigt zwei Dinge: List Comprehensions und die Methode startswith().

Die Funktion startswith() übernimmt die Aufgabe, die Anfangsindizes des Teilstrings zu erhalten, und das List Comprehensions wird verwendet, um den gesamten Zielstring zu durchlaufen.

Der folgende Code verwendet List Comprehensions und startswith(), um alle Vorkommen eines Teilstrings in einem String zu finden.

# defining string
str1 = "This dress looks good; you have good taste in clothes."

# defining substring
substr = "good"

# printing original string
print("The original string is : " + str1)

# printing substring
print("The substring to find : " + substr)

# using list comprehension + startswith()
# All occurrences of substring in string
res = [i for i in range(len(str1)) if str1.startswith(substr, i)]

# printing result
print("The start indices of the substrings are : " + str(res))

Ausgabe:

The original string is : This dress looks good; you have good taste in clothes.
The substring to find : good
The start indices of the substrings are : [17, 34]

Verwenden Sie re.finditer(), um alle Vorkommen eines Teilstrings in einem String in Python zu finden

re.finditer() ist eine Funktion der Regex-Bibliothek, die Python Programmierern zur Verwendung in ihrem Code zur Verfügung stellt. Es hilft bei der Durchführung der Aufgabe, das Auftreten eines bestimmten Musters in einer Zeichenkette zu finden. Um diese Funktion zu verwenden, müssen wir zuerst die Regex-Bibliothek re importieren.

re.finditer() verwendet die Parameter pattern und string in seiner Syntax. In diesem Fall bezieht sich das Muster auf die TeilZeichenkette.

Der folgende Code verwendet die Funktion re.finditer(), um alle Vorkommen eines Teilstrings in einem String zu finden.

import re

# defining string
str1 = "This dress looks good; you have good taste in clothes."

# defining substring
substr = "good"

print("The original string is: " + str1)

print("The substring to find: " + substr)

result = [_.start() for _ in re.finditer(substr, str1)]

print("The start indices of the substrings are : " + str(result))

Ausgabe:

The original string is: This dress looks good; you have good taste in clothes.
The substring to find: good
The start indices of the substrings are : [17, 34]
Vaibhhav Khetarpal avatar Vaibhhav Khetarpal avatar

Vaibhhav is an IT professional who has a strong-hold in Python programming and various projects under his belt. He has an eagerness to discover new things and is a quick learner.

LinkedIn

Verwandter Artikel - Python String