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.
  • using find() method
  • using in operator
  • using count() method
  • using str.index() method
  • 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")
    Output
    Substring 'beautiful ' found at index: 12
    6
    -1
    6
    -1
    Doesn't contains given substring
    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
    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
    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.
    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.

    25

    This website collects cookies to deliver better user experience

    How to Check if String Contains Substring in Python