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:
sub in strEr 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 = FalsePassende Infrastruktur bei centron
Skripte und Dienste brauchen irgendwann eine Umgebung, die durchläuft: ccloud³ VMs ab 3,12 € im Monat, stundengenau abgerechnet. Cloud Server mieten →
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"Testen Sie Ihr Setup auf ccloud³
Registrieren Sie sich in der ccloud³ und erhalten Sie 200 € Startguthaben für Ihr Projekt – z. B. für eine PostgreSQL-VM mit automatischen Backups.