logo

Skontrolujte, či má reťazec v Pythone znak

Jednou z najčastejších operácií v každom programovacom jazyku je určenie, či daný reťazec obsahuje podreťazec. Python má množstvo metód na určenie, či daný reťazec obsahuje znak. Operátor 'in' Pythonu, ktorý slúži ako nástroj na porovnávacie operácie, je najrýchlejším a najjednoduchším spôsobom, ako určiť, či reťazec Pythonu obsahuje znak. Kontrola, či reťazec obsahuje podreťazec, tiež ťaží z použitia iných funkcií Pythonu, ako sú find(), index(), count() a ďalšie.

Použitie operátora 'in' Pythonu

Operátor 'in' v Pythone je najrýchlejší a najjednoduchší spôsob, ako určiť, či reťazec obsahuje podreťazec alebo nie. Ak reťazec obsahuje znaky, táto operácia vráti booleovskú hodnotu true; inak vráti false.

kód

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

Výkon:

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

Ak je reťazec uvedený ako ľavý argument zahrnutý do reťazca uvedeného ako pravý argument, operátor 'in' dáva hodnotu True. Akceptuje dva parametre, jeden na každej strane. Operátor 'in' v Pythone zaobchádza s veľkými a malými písmenami oddelene, pretože ide o operátor citlivý na veľké a malé písmená.

Použitie funkcie __contains__().

Funkcia __contains__() triedy String jazyka Python tiež poskytuje spôsob, ako určiť, či daný reťazec obsahuje alebo neobsahuje podreťazec. Operácia 'in' Pythonu volá metódu __contains__(), keď sa používa implicitne. Keď sa objekt triedy objaví na pravej strane operátorov 'in' a 'not in', správanie je definované metódou __contains__. Hoci môžeme, rozhodneme sa túto metódu explicitne nepoužiť. Hoci funkcie s podčiarkovníkom ako ich prvým znakom sa považujú za sémanticky súkromné, odporúča sa používať operátory „in“ kvôli čitateľnosti.

kód

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

Výkon:

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

Použitie metódy str.find() Pythonu

Môžete tiež použiť techniku ​​string.find(). Funkcia find() určuje, či v danom reťazci existuje podreťazec. Ak nájde, funkcia find() vráti -1; inak dáva počiatočný index podreťazca vo vnútri reťazca.

čo je reproduktor

kód

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

Výkon:

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

Tento prístup je prijateľný; použitie str.find() je však menej pythónsky spôsob na dokončenie tejto úlohy. Aj keď je zdĺhavejší a trochu neprehľadnejší, svoju úlohu stále spĺňa.

Použitie metódy str.count().

Ak chcete počítať výskyty konkrétneho podreťazca v rámci reťazca, použite funkciu Python count(). Funkcia dáva 0, ak nemôže nájsť podreťazec alebo znak v danom reťazci.

kód

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

Výkon:

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