Website-Suche

Python überprüfen, ob eine Zeichenkette eine andere Zeichenkette enthält


String-Manipulation ist eine gängige Aufgabe in jeder Programmiersprache. Python bietet zwei gängige Möglichkeiten, um zu überprüfen, ob eine Zeichenfolge eine andere Zeichenfolge enthält.

Python überprüfen, ob eine Zeichenkette eine andere Zeichenkette enthält

Python-Strings unterstützen den in-Operator. Daher können wir ihn verwenden, um zu überprüfen, ob eine Zeichenkette Teil einer anderen Zeichenkette ist oder nicht. Die Syntax des in-Operators ist:

sub in str

Es gibt True zurück, wenn der Teilstring “sub” Teil des Strings “str” ist, andernfalls gibt es False zurück. Lassen Sie uns einige Beispiele für die Verwendung des in Operators in Python ansehen.

str1 = 'I love Python Programming'

str2 = 'Python'

str3 = 'Java'

print(f'"{str1}" contains "{str2}" = {str2 in str1}')
print(f'"{str1}" contains "{str2.lower()}" = {str2.lower() in str1}')
print(f'"{str1}" contains "{str3}" = {str3 in str1}')

if str2 in str1:
    print(f'"{str1}" contains "{str2}"')
else:
    print(f'"{str1}" does not contain "{str2}"')

Ausgabe :

"I love Python Programming" contains "Python" = True
"I love Python Programming" contains "python" = False
"I love Python Programming" contains "Java" = False
"I love Python Programming" contains "Python"

Wenn Sie mit f-präfixierten Strings in Python nicht vertraut sind, handelt es sich um eine neue Methode zur Formatierung von Strings, die in Python 3.6 eingeführt wurde. Sie können mehr darüber unter f-strings in Python lesen.

Wenn wir den in-Operator verwenden, wird intern die __contains__() Funktion aufgerufen. Wir können diese Funktion auch direkt verwenden, jedoch wird empfohlen, den in-Operator aus Gründen der Lesbarkeit zu verwenden.

s = 'abc'

print('s contains a =', s.__contains__('a'))
print('s contains A =', s.__contains__('A'))
print('s contains X =', s.__contains__('X'))

Ausgabe :

s contains a = True
s contains A = False
s contains X = False

Verwenden von find(), um zu überprüfen, ob ein String einen anderen Teilstring enthält.

Wir können auch die Funktion string find() verwenden, um zu überprüfen, ob eine Zeichenfolge ein Teilzeichenfolge enthält oder nicht. Diese Funktion gibt die erste Indexposition zurück, an der die Teilzeichenfolge gefunden wird, andernfalls wird -1 zurückgegeben.

str1 = 'I love Python Programming'

str2 = 'Python'

str3 = 'Java'

index = str1.find(str2)
if index != -1:
    print(f'"{str1}" contains "{str2}"')
else:
    print(f'"{str1}" does not contain "{str2}"')

index = str1.find(str3)
if index != -1:
    print(f'"{str1}" contains "{str3}"')
else:
    print(f'"{str1}" does not contain "{str3}"')

Ausgabe :

"I love Python Programming" contains "Python"
"I love Python Programming" does not contain "Java"

Sie können das vollständige Python-Skript und weitere Python-Beispiele aus unserem GitHub-Repository abrufen.