logo

Controleer of String karakter heeft in Python

Een van de meest voorkomende bewerkingen in elke programmeertaal is het bepalen of een bepaalde string een substring bevat. Python heeft talloze methoden om te bepalen of een bepaalde string een teken bevat. De 'in'-operator van Python, die dient als hulpmiddel voor vergelijkingsbewerkingen, is de snelste en gemakkelijkste manier om te bepalen of een Python-string een teken bevat. Het controleren of een string een substring bevat, profiteert ook van het gebruik van andere Python-functies zoals find(), index(), count() en andere.

Met behulp van Python's 'in'-operator

De operator 'in' van Python is de snelste en gemakkelijkste manier om te bepalen of een string een substring bevat of niet. Als de string de tekens bevat, retourneert deze bewerking een booleaanse waarde; anders retourneert het false.

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) 

Uitgang:

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

Als de string die als het linkerargument is opgegeven, is opgenomen in de string die als het rechterargument is opgegeven, geeft de operator 'in' True. Het accepteert twee parameters, één aan elke kant. De operator 'in' van Python behandelt hoofdletters en kleine letters afzonderlijk, omdat het een hoofdlettergevoelige operator is.

De functie __contains__() gebruiken

De functie __contains__() van de klasse String van Python biedt ook een manier om te bepalen of de gegeven string al dan niet een substring bevat. De 'in'-bewerking van Python roept de methode __contains__() aan wanneer deze impliciet wordt gebruikt. Wanneer een klasseobject aan de rechterkant van de operatoren 'in' en 'not in' verschijnt, wordt het gedrag gedefinieerd door de methode __contains__. Hoewel dat wel kan, kiezen we ervoor om deze methode niet expliciet te gebruiken. Hoewel functies met onderstrepingstekens als eerste teken als semantisch privé worden beschouwd, wordt voor de leesbaarheid geadviseerd om 'in'-operatoren te gebruiken.

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

Uitgang:

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

Met behulp van Python's str.find()-methode

U kunt ook de string.find()-techniek gebruiken. De functie find() bepaalt of er een subtekenreeks bestaat in de gegeven tekenreeks. Als deze wordt gevonden, retourneert de functie find() -1; anders geeft het de beginindex van de subtekenreeks binnen de tekenreeks.

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

Uitgang:

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

Deze aanpak is acceptabel; het gebruik van str.find() is echter een minder Python-achtige manier om deze taak te voltooien. Hoewel het langer en wat rommeliger is, volbrengt het nog steeds zijn taak.

Met behulp van de str.count()-methode

Gebruik de functie count() van Python als u de instanties van een bepaalde subtekenreeks binnen een tekenreeks wilt tellen. De functie geeft 0 als de subtekenreeks of het teken in de gegeven tekenreeks niet kan worden gevonden.

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

Uitgang:

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