logo

Sprawdź, czy ciąg ma znak w Pythonie

Jedną z najczęstszych operacji w każdym języku programowania jest sprawdzenie, czy dany ciąg zawiera podciąg. Python ma wiele metod określania, czy dany ciąg zawiera znak. Operator „in” w języku Python, który służy jako narzędzie do operacji porównywania, to najszybszy i najłatwiejszy sposób sprawdzenia, czy ciąg znaków w języku Python zawiera znak. Sprawdzanie, czy ciąg zawiera podciąg, również przynosi korzyści dzięki zastosowaniu innych funkcji Pythona, takich jak find(), indeks(), count() i innych.

Używanie operatora „in” w Pythonie

Operator „in” w Pythonie to najszybszy i najłatwiejszy sposób sprawdzenia, czy ciąg znaków zawiera podciąg, czy nie. Jeśli ciąg znaków zawiera te znaki, operacja ta zwraca wartość logiczną true; w przeciwnym razie zwraca wartość false.

while pętla Java

Kod

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

Wyjście:

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

Jeśli ciąg znaków podany jako lewy argument jest zawarty w ciągu znaków podanym jako prawy argument, operator „in” zwraca wartość Prawda. Akceptuje dwa parametry, po jednym z każdej strony. Operator „in” w Pythonie traktuje oddzielnie wielkie i małe litery, ponieważ uwzględnia wielkość liter.

Korzystanie z funkcji __contains__().

Funkcja __contains__() klasy String w Pythonie umożliwia również określenie, czy dany ciąg zawiera podciąg. Operacja „in” w Pythonie wywołuje metodę __contains__(), jeśli jest używana niejawnie. Kiedy obiekt klasy pojawia się po prawej stronie operatorów „in” i „not in”, zachowanie jest definiowane za pomocą metody __contains__. Chociaż możemy, nie chcemy jawnie używać tej metody. Chociaż funkcje z podkreśleniem na pierwszym znaku są uważane za semantycznie prywatne, zaleca się używanie operatorów „in” w celu zapewnienia czytelności.

Kod

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

Wyjście:

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

Korzystanie z metody str.find() języka Python

Można także zastosować technikę string.find(). Funkcja find() sprawdza, czy w podanym ciągu istnieje podciąg. Jeśli znajdzie, funkcja find() zwraca -1; w przeciwnym razie podaje początkowy indeks podciągu wewnątrz ciągu.

Kod

połączyć ciąg Java
 # 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') 

Wyjście:

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

Takie podejście jest dopuszczalne; jednakże użycie str.find() jest mniej Pythonicznym sposobem wykonania tego zadania. Chociaż jest dłuższy i nieco bardziej pogmatwany, nadal spełnia swoje zadanie.

Korzystanie z metody str.count().

Użyj funkcji count() języka Python, jeśli chcesz policzyć wystąpienia określonego podciągu w ciągu. Funkcja zwraca 0, jeśli nie może znaleźć podciągu lub znaku w podanym ciągu.

Kod

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

Wyjście:

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