Topic Overview and Actualization

Today, we're going to learn how to search and replace within Python strings. These are crucial operations for manipulating text data. This tutorial provides a hands-on approach to implementing these Python features.

Have you ever wondered how to find 'X' on a treasure map, switch code words, or make a search feature to locate a file? By learning how to search and replace text in Python, you can solve these puzzles!

Python Methods for Searching Text in Strings

The .find(), .index(), and .count() methods in Python make text searching a breeze.

Method find()

This method finds the first occurrence of a substring and returns the index. If the substring is not found, it returns -1.

Similarly, rfind() method returns the index of the last occurrence of the provided substring.

text = "The cat is on the mat."
print(text.find('cat')) # returns 4, because text[4:7] = "cat"
print(text.find('dog')) # returns -1, because 'dog' is not found
print(text.rfind('a')) # returns 19, the rightmost occurrence index of 'a'
Method index()

This works like find(). However, it throws an error if the substring is not found.

Similarly, rindex() method returns the index of the last occurrence of the provided substring.

print(text.index('cat')) # returns 4
print(text.index('dog')) # throws an error as 'dog' is not in the text
print(text.rindex('a')) # returns 19
Method count()

This method counts the occurrences of a substring.

text = "The cat is on the mat. The cat is sleeping."
print(text.count('cat')) # returns 2, as 'cat' appears twice
Python Methods for Replacing Text in Strings

Python's replace() function allows for replacing a substring in a string.

This method replaces an old substring with a new one. For example, str.replace(old, new) replaces all occurrences of old to new in the string str. Here are some examples:

msg = "Hello, NAME. Happy Birthday!"
# Replace "NAME" with "Bob"
print(msg.replace('NAME', 'Bob')) # Prints "Hello, Bob. Happy Birthday!"

text = "The cat is on the mat. The cat is sleeping."
# Replace only the first occurrence of "cat" with "dog"
print(text.replace('cat', 'dog', 1)) # Prints "The dog is on the mat. The cat is sleeping."

In the second example, 'cat' is replaced once with 'dog', resulting in 'dog' in the first instance of 'cat' and 'cat' in the second.

Sign up
Join the 1M+ learners on CodeSignal
Be a part of our community of 1M+ users who develop and demonstrate their skills on CodeSignal