En av de vanligaste operationerna i varje programmeringsspråk är att avgöra om en given sträng innehåller en delsträng. Python har många metoder för att avgöra om en given sträng innehåller ett tecken. 'In'-operatorn för Python, som fungerar som ett verktyg för jämförelseoperationer, är det snabbaste och enklaste sättet att avgöra om en Python-sträng innehåller ett tecken. Att kontrollera om en sträng innehåller en delsträng gynnas också av användningen av andra Python-funktioner som find(), index(), count() och andra.
Använder Pythons 'i' Operator
'In'-operatorn för Python är det snabbaste och enklaste sättet att avgöra om en sträng består av en delsträng eller inte. Om strängen har tecknen returnerar denna operation ett booleskt sant; annars returnerar det falskt.
Koda
# 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)
Produktion:
The string 'tut' is present in the string: True
Om strängen som anges som vänsterargument ingår i strängen som anges som högerargument, ger 'in'-operatorn True. Den accepterar två parametrar, en på varje sida. 'In'-operatorn i Python behandlar versaler och gemener separat eftersom det är en skiftlägeskänslig operator.
Använda funktionen __contains__().
Funktionen __contains__() i String-klassen i Python tillhandahåller också ett sätt att avgöra om den givna strängen innehåller en delsträng eller inte. Pythons 'in'-operation anropar metoden __contains__() när den används implicit. När ett klassobjekt visas till höger om operatorerna 'in' och 'not in', definieras beteendet av metoden __contains__. Även om vi kan, väljer vi att inte använda denna metod explicit. Även om funktioner med understreck som första tecken betraktas som semantiskt privata, rekommenderas det att använda 'in'-operatorer för läsbarhet.
Koda
# 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'))
Produktion:
The string 'tut' is present in the string: True
Använder Pythons str.find() metod
Du kan också använda tekniken string.find(). Find()-funktionen avgör om en delsträng finns i den givna strängen. Om den hittar returnerar find()-funktionen -1; annars ger det startindexet för delsträngen inuti strängen.
Koda
# 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')
Produktion:
The character 'T' is present in the string at: 7
Detta tillvägagångssätt är acceptabelt; Men att använda str.find() är ett mindre pytoniskt sätt att slutföra denna uppgift. Även om den är längre och något mer rörig, klarar den ändå uppgiften.
Använder metoden str.count()
Använd funktionen Python count() om du vill räkna förekomsterna av en viss delsträng i en sträng. Funktionen ger 0 om den inte kan hitta delsträngen eller tecknet i den givna strängen.
Koda
# 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')
Produktion:
The character 'o' is present in the string 2 times.