logo

Überprüfen Sie, ob String in Python ein Zeichen enthält

Eine der häufigsten Operationen in jeder Programmiersprache ist die Bestimmung, ob eine bestimmte Zeichenfolge eine Teilzeichenfolge enthält. Python verfügt über zahlreiche Methoden, um festzustellen, ob eine bestimmte Zeichenfolge ein Zeichen enthält. Der „in“-Operator von Python, der als Werkzeug für Vergleichsoperationen dient, ist der schnellste und einfachste Weg, um festzustellen, ob eine Python-Zeichenfolge ein Zeichen enthält. Die Überprüfung, ob eine Zeichenfolge eine Teilzeichenfolge enthält, profitiert auch von der Verwendung anderer Python-Funktionen wie find(), index(), count() und anderen.

Verwendung des „in“-Operators von Python

Der „in“-Operator von Python ist der schnellste und einfachste Weg, um festzustellen, ob eine Zeichenfolge eine Teilzeichenfolge enthält oder nicht. Wenn die Zeichenfolge die Zeichen enthält, gibt diese Operation einen booleschen Wert „true“ zurück; andernfalls wird false zurückgegeben.

Code

 # Python program to show how to use the in operator to check if a string contains a substring # Creating a string str='Python Tutorial' print('The string 'tut' is present in the string: ', 'Tut' in str) 

Ausgabe:

 The string 'tut' is present in the string: True 

Wenn die als linkes Argument angegebene Zeichenfolge in der als rechtes Argument angegebenen Zeichenfolge enthalten ist, gibt der „in“-Operator „True“ zurück. Es akzeptiert zwei Parameter, einen auf jeder Seite. Der „in“-Operator von Python behandelt Groß- und Kleinbuchstaben getrennt, da es sich um einen Operator handelt, bei dem die Groß- und Kleinschreibung beachtet wird.

Verwenden der Funktion __contains__()

Die Funktion __contains__() der String-Klasse von Python bietet auch eine Möglichkeit zu bestimmen, ob die angegebene Zeichenfolge eine Teilzeichenfolge enthält oder nicht. Die „in“-Operation von Python ruft bei impliziter Verwendung die Methode __contains__() auf. Wenn ein Klassenobjekt auf der rechten Seite der Operatoren „in“ und „not in“ erscheint, wird das Verhalten durch die Methode __contains__ definiert. Obwohl dies möglich ist, entscheiden wir uns, diese Methode nicht explizit zu verwenden. Obwohl Funktionen mit Unterstrichen als erstem Zeichen als semantisch privat gelten, wird aus Gründen der Lesbarkeit empfohlen, „in“-Operatoren zu verwenden.

Code

 # Python program to show how to use the __contain__ method to check if a string contains a substring # Creating a string string = 'Python Tutorial' print('The string 'tut' is present in the string: ', string.__contains__('Tut')) 

Ausgabe:

 The string 'tut' is present in the string: True 

Verwendung der str.find()-Methode von Python

Sie können auch die string.find()-Technik verwenden. Die Funktion find() ermittelt, ob in der angegebenen Zeichenfolge eine Teilzeichenfolge vorhanden ist. Wenn sie findet, gibt die Funktion find() -1 zurück; Andernfalls wird der Anfangsindex des Teilstrings innerhalb des Strings angegeben.

Code

 # Python program to find a character in a string and get its index # Creating a string string = 'Python Tutorial' index = string.find('T') if index != -1: print('The character 'T' is present in the string at: ', index) else: print('The character is not present in the string') 

Ausgabe:

 The character 'T' is present in the string at: 7 

Dieser Ansatz ist akzeptabel; Die Verwendung von str.find() ist jedoch eine weniger pythonische Möglichkeit, diese Aufgabe auszuführen. Obwohl es länger und etwas wirrer ist, erfüllt es dennoch seine Aufgabe.

Verwendung der Methode str.count()

Verwenden Sie die Python-Funktion count(), wenn Sie die Instanzen eines bestimmten Teilstrings innerhalb eines Strings zählen möchten. Die Funktion gibt 0 aus, wenn sie die Teilzeichenfolge oder das Zeichen in der angegebenen Zeichenfolge nicht finden kann.

Code

 # Python program to check a character is present in the string using the count() function # Creating a string string = 'Python Tutorial' count = string.count('o') if count != 0: print(f'The character 'o' is present in the string {count} times.') else: print('The character is not present in the string') 

Ausgabe:

 The character 'o' is present in the string 2 times.