String manipulation is a common task in any programming language. Python provides two common ways to check if a string contains another string.
Python check if string contains another string
Python string supports in operator. So we can use it to check if a string is part of another string or not. The in operator syntax is:
1 2 3 |
sub in str |
It returns True
if “sub” string is part of “str”, otherwise it returns False
.
Let’s look at some examples of using in
operator in Python.
1 2 3 4 5 6 7 8 9 10 11 12 |
str1 = 'I love Python Programming' str2 = 'Python' str3 = 'Java' print(f'"{str1}" contains "{str2}" = {str2 in str1}') print(f'"{str1}" contains "{str2.lower()}" = {str2.lower() in str1}') print(f'"{str1}" contains "{str3}" = {str3 in str1}') if str2 in str1: print(f'"{str1}" contains "{str2}"') else: print(f'"{str1}" does not contain "{str2}"') |
Output:
1 2 3 4 5 6 7 |
"I love Python Programming" contains "Python" = True "I love Python Programming" contains "python" = False "I love Python Programming" contains "Java" = False "I love Python Programming" contains "Python" <img class="alignnone wp-image-22544 size-full" src="http://all-learning.com/wp-content/uploads/2018/10/Python-check-if-string-contains-another-string.png" alt="Python check if string contains another string" width="1344" height="922" /> |
When we use in operator, internally it calls __contains__() function. We can use this function directly too, however it’s recommended to use in operator for readability purposes.
1 2 3 4 5 6 |
s="abc" print('s contains a=", s.__contains__("a')) print('s contains A =', s.__contains__('A')) print('s contains X =', s.__contains__('X')) |
Output:
1 2 3 4 5 |
s contains a = True s contains A = False s contains X = False |
Using find() to check if a string contains another substring
We can also use string find() function to check if string contains a substring or not. This function returns the first index position where substring is found, else returns -1.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
str1 = 'I love Python Programming' str2 = 'Python' str3 = 'Java' index = str1.find(str2) if index != -1: print(f'"{str1}" contains "{str2}"') else: print(f'"{str1}" does not contain "{str2}"') index = str1.find(str3) if index != -1: print(f'"{str1}" contains "{str3}"') else: print(f'"{str1}" does not contain "{str3}"') |
Output:
1 2 3 4 5 |
"I love Python Programming" contains "Python" "I love Python Programming" does not contain "Java" <img class="alignnone wp-image-22545 size-full" src="http://all-learning.com/wp-content/uploads/2018/10/Python-check-if-string-contains-another-string1.png" alt="Python check if string contains another string" width="1200" height="764" /> |