To check if a string contains a substring in Python, use the
in operator between two strings.
if "word" in somestring: # do something
To find the index at which the substring occurs, use the
find() method of a string.
This returns the first index at which the substring
Examples of Checking If a String Is a Substring of Another String
Let’s figure out if the word
"This" occurs in a string:
sentence = "This is just a sentence" if "This" in sentence: print("Found it!")
Let’s then figure out the index at which it occurs:
sentence = "This is just a sentence. This is another." idx = sentence.find("This") print("The word 'This' begins at:", idx)
The word 'This' begins at: 0
As you can see, the
find() method only cares about the first occurrence of the word
"This" in the sentence.
An Edge Case
If you are using the
in operator to figure out if a string is inside of another, check that the main string is not
None. If you don’t, you get an error.
sentence = None if "This" in sentence: print("Found it!")
TypeError: argument of type 'NoneType' is not iterable
To avoid this error, make sure to check against
None like this:
sentence = None if sentence is not None and "This" in sentence: print("Found it!")
Today you learned how to check if a string contains a substring in Python.
- Use the
instatement to check if a string is a substring of another string.
- Use the string’s built-in
find()method to figure out the index at which the string starts in another string.
Thanks for reading. I hope you enjoy it.