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.
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']
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.
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
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]
You can checkout complete python script and more Python examples from our GitHub Repository.
Thanks for learning with the DigitalOcean Community. Check out our offerings for compute, storage, networking, and managed databases.
Java and Python Developer for 20+ years, Open Source Enthusiast, Founder of https://www.askpython.com/, https://www.linuxfordevices.com/, and JournalDev.com (acquired by DigitalOcean). Passionate about writing technical articles and sharing knowledge with others. Love Java, Python, Unix and related technologies. Follow my X @PankajWebDev
Get paid to write technical tutorials and select a tech-focused charity to receive a matching donation.
Full documentation for every DigitalOcean product.
The Wave has everything you need to know about building a business, from raising funding to marketing your product.
Stay up to date by signing up for DigitalOcean’s Infrastructure as a Newsletter.
New accounts only. By submitting your email you agree to our Privacy Policy
Scale up as you grow — whether you're running one virtual machine or ten thousand.
Sign up and get $200 in credit for your first 60 days with DigitalOcean.*
*This promotional offer applies to new accounts only.