Check, ob ein String einen anderen String enthält: Python-Tipps

String-Manipulation ist eine häufige Aufgabe in jeder Programmiersprache. Python bietet zwei gängige Methoden für einen Check ob String einen anderen String enthält

Python-Überprüfung

Der Python-String unterstützt den in-Operator. So können wir ihn nutzen für einen Check ob ein String einen anderen String enthält oder nicht. Die Syntax des in-Operators lautet:

Er gibt True zurück, wenn der „sub“-String Teil von „str“ ist, andernfalls gibt er False zurück. Lassen Sie uns einige Beispiele für die Verwendung des in-Operators in Python anschauen.

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}"')

Output:

"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 Strings in Python vertraut sind, ist dies eine neue Methode zur String-Formatierung, die in Python 3.6 eingeführt wurde. Sie können mehr darüber bei f-Strings in Python lesen.

Wenn wir den in-Operator verwenden, ruft er intern die Funktion __contains__() auf. Wir können diese Funktion auch direkt verwenden, jedoch wird aus Gründen der Lesbarkeit empfohlen, den in-Operator 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'))

Output:

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

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, andernfalls gibt sie -1 zurück.

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}"')

Output:

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

Kostenlosen Account erstellen

Registrieren Sie sich jetzt und erhalten Sie Zugang zu unseren Cloud Produkten.

Das könnte Sie auch interessieren: