DEV Community

Srinivas Ramakrishna for ItsMyCode

Posted on • Originally published at itsmycode.com on

How to Check if String Contains Substring in Python

ItsMyCode |

A substring is a sequence of characters in a given string. Python has several built-in methods that can help find and replace a substring. Following are the options available in Python to check if string contains substring.

  1. using find() method
  2. using in operator
  3. using count() method
  4. using str.index() method
  5. using operator.contains() method

Check if String Contains Substring in Python

Let’s look at all the different ways in Python to check if a string contains a substring.

using find() method

find() method is to verify if a string contains a substring or not. If the string contains a substring, it returns the starting index of the substring; else returns -1 if it cannot find a substring.

Syntax: string.find(substring, start, end)

Parameters:

  • substring: substring that needs to be searched in a given string
  • start (Optional): Starting position where the substring needs to be searched within the string.
  • end(Optional): Ending position where suffix needs to be searched within the string.

Note: If start and end indexes are not provided, then by default, it takes 0 as start index and length-1 as end index.

word = 'Hello its a beautiful day'

# returns first occurrence of Substring
result = word.find('beautiful ')
print ("Substring 'beautiful ' found at index:", result )  

# Substring is searched with start index 2
print(word.find('its', 2)) 

# Substring is searched with start index 10
print(word.find('its', 10)) 

# Substring is searched between start index 4 and end index 10
print(word.find('its', 4, 10)) 

# Substring is searched start index 10 and end index 20
print(word.find('its ', 10, 20))

# How to use find()
if (word.find('sunny') != -1):
    print ("Contains given substring ")
else:
    print ("Doesn't contains given substring")
Enter fullscreen mode Exit fullscreen mode

Output

Substring 'beautiful ' found at index: 12
6
-1
6
-1
Doesn't contains given substring
Enter fullscreen mode Exit fullscreen mode

Using in operator

The “ in ” operator checks if a substring is present within a string, returns TRUE ** if found else returns **FALSE.

word = "Hello its a beautiful day"
sub1="beautiful"
sub2="sunny"

print(sub1 in word) 
print(sub2 in word)

#Output
True
False
Enter fullscreen mode Exit fullscreen mode

using count() method

The count() method checks for the occurrence of a substring in a string; if not found, return 0.

word = "Hello its a beautiful day"
sub1="beautiful"
sub2="Hello"
sub3="Sunny"

print(word.count(sub1)) 
print(word.count(sub2)) 
print(word.count(sub3)) 

# Output
1
1
0
Enter fullscreen mode Exit fullscreen mode

using str.index() method

The method checks that the given substring is present in a string. If the substring is not present in the string, it doesn’t return any value rather generates a ValueError.

Syntax: string.index(substring)

word = "Hello its a beautiful day"
try :  
    result = word.index("beautiful") 
    print ("beautiful is present in the string.") 
except : 
    print ("beautiful is not present in the string.") 

# Output
beautiful is present in the string.
Enter fullscreen mode Exit fullscreen mode

using operator.contains() method

Using the operator module, we can search if the substring is present in a string.

Syntax: operator.contains(string,substring)

import operator 

word = "Hello its a beautiful day"
if operator.contains(word, "beautiful"): 
    print ("beautiful is present in the string.") 
else : 
    print ("beautiful is not present in the string.")

# Output
beautiful is present in the string.
Enter fullscreen mode Exit fullscreen mode

The post How to Check if String Contains Substring in Python appeared first on ItsMyCode.

Top comments (1)

Collapse
 
linehammer profile image
linehammer

Regular expression is widely used for pattern matching . Python has a built-in package called re , which can be used to work with Regular Expressions . The re module contains a function called search() , it can be used to check if a string contains the specified search pattern .

re.search(pattern, string, flags[optional])

net-informations.com/python/basics...