Python Überprüfen, ob String einen anderen String enthält

Zeichenkettenmanipulation ist eine häufige Aufgabe in jeder Programmiersprache. Python bietet zwei gängige Möglichkeiten, zu überprüfen, ob eine Zeichenkette eine andere Zeichenkette enthält.

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

Python-Zeichenkette unterstützt den in-Operator. Wir können 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

Er gibt True zurück, wenn die Teilzeichenkette „sub“ Teil von „str“ ist, sonst gibt er 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 nicht mit f-präfixierten Zeichenketten in Python vertraut sind, handelt es sich um eine neue Möglichkeit zur Zeichenkettenformatierung, die in Python 3.6 eingeführt wurde. Weitere Informationen dazu finden Sie unter f-Strings in Python.

Wenn wir den in-Operator verwenden, ruft er intern die __contains__()-Funktion auf. Wir können diese Funktion auch direkt verwenden, es wird jedoch 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

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

Wir können auch die String find()-Funktion verwenden, um zu überprüfen, ob ein String einen Teilstring enthält oder nicht. Diese Funktion gibt die erste Indexposition zurück, an der der Teilstring gefunden wird, ansonsten -1.

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 überprüfen.

Source:
https://www.digitalocean.com/community/tutorials/python-check-if-string-contains-another-string