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.

Create a Python String Substring

We can create a substring using string slicing. We can use 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']

Python String Substring – Checking if Substring is Found

We can use in operator or find() function 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.

Count of Substring Occurrence

We can use count() function 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'))

Output: [0, 8, 17]

Conclusion

By this, we have come to the end of this topic.

Create a Free Account

Register now and get access to our Cloud Services.

Posts you might be interested in: