Una dintre cele mai frecvente operații din fiecare limbaj de programare este determinarea dacă un șir dat conține un subșir. Python are numeroase metode pentru a determina dacă un șir dat conține un caracter. Operatorul „in” al lui Python, care servește ca instrument pentru operațiile de comparare, este cel mai rapid și mai ușor mod de a determina dacă un șir Python include un caracter. Verificarea dacă un șir include un subșir beneficiază și de utilizarea altor funcții Python precum find(), index(), count() și altele.
Folosind operatorul „in” al lui Python
Operatorul „in” al lui Python este cel mai rapid și mai ușor mod de a determina dacă un șir cuprinde un subșir sau nu. Dacă șirul are caracterele, această operație returnează un boolean true; altfel, se întoarce false.
Cod
metoda java substring
# 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)
Ieșire:
The string 'tut' is present in the string: True
Dacă șirul dat ca argument din stânga este inclus în șirul dat ca argument din dreapta, operatorul „in” dă Adevărat. Acceptă doi parametri, câte unul pe fiecare parte. Operatorul „în” din Python tratează literele majuscule și minuscule separat, deoarece este un operator sensibil la majuscule.
Folosind funcția __contains__().
Funcția __contains__() a clasei String din Python oferă, de asemenea, o modalitate de a determina dacă șirul dat conține sau nu un subșir. Operația „în” a lui Python apelează metoda __contains__() atunci când este utilizată implicit. Când un obiect de clasă apare în partea dreaptă a operatorilor „în” și „nu în”, comportamentul este definit de metoda __contains__. Deși putem, alegem să nu folosim această metodă în mod explicit. Deși funcțiile cu liniuțe de subliniere ca prim caracter sunt considerate private din punct de vedere semantic, se recomandă utilizarea operatorilor „în” pentru lizibilitate.
Cod
# 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'))
Ieșire:
The string 'tut' is present in the string: True
Folosind metoda str.find() de la Python
De asemenea, puteți folosi tehnica string.find(). Funcția find() determină dacă există un subșir în șirul dat. Dacă găsește, funcția find() returnează -1; altfel, oferă indexul de început al subșirului în interiorul șirului.
Cod
# 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')
Ieșire:
The character 'T' is present in the string at: 7
Această abordare este acceptabilă; cu toate acestea, folosirea str.find() este o modalitate mai puțin Pythonic de a finaliza această sarcină. Deși este mai lung și oarecum mai amestecat, încă îndeplinește sarcina.
Folosind metoda str.count().
Utilizați funcția Python count() dacă doriți să numărați instanțele unui anumit subșir dintr-un șir. Funcția dă 0 dacă nu poate găsi subșirul sau caracterul din șirul dat.
fișier json
Cod
# 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')
Ieșire:
The character 'o' is present in the string 2 times.