URL: https://www.progressiverobot.com/python-string-substring/

A substring is the part of a string. Python string provides various methods to create a substring, check if it contains a substring, index of substring etc. In this tutorial, we will look into various operations related to substrings.

Let's first look at two different ways to create a substring.

Create a Substring

python string illustration for: Create a Substring

We can create a substring using [string slicing](/community/tutorials/python-slice-string). We can use [split()](/community/tutorials/python-string-split) function to create a list of substrings based on specified delimiter.

				
					s = 'My Name is Pankaj'

# create substring using slice
name = s[11:]
print(name)

# list of substrings using split
l1 = s.split()
print(l1)
				
			

Output:

				
					Pankaj
['My', 'Name', 'is', 'Pankaj']
				
			

Checking if substring is found

We can use in operator or [find() function](/community/tutorials/python-string-find) to check if substring is present in the string or not.

				
					s = 'My Name is Pankaj'

if 'Name' in s:
    print('Substring found')

if s.find('Name') != -1:
    print('Substring found')
				
			

Note that find() function returns the index position of the substring if it's found, otherwise it returns -1. !python string contains substring

Count of Substring Occurrence

We can use [count() function](/community/tutorials/python-string-count) to find the number of occurrences of a substring in the string.

				
					s = 'My Name is Pankaj'

print('Substring count =', s.count('a'))

s = 'This Is The Best Theorem'
print('Substring count =', s.count('Th'))
				
			

Output:

				
					Substring count = 3
Substring count = 3
				
			

Find all indexes of substring

There is no built-in function to get the list of all the indexes for the substring. However, we can easily define one using find() function.

				
					def find_all_indexes(input_str, substring):
    l2 = []
    length = len(input_str)
    index = 0
    while index < length:
        i = input_str.find(substring, index)
        if i == -1:
            return l2
        l2.append(i)
        index = i + 1
    return l2


s = 'This Is The Best Theorem'
print(find_all_indexes(s, 'Th'))
				
			

You can checkout complete python script and more Python examples from our GitHub Repository.