Lesson 4
Exploring Python Strings: A Deep Dive into Searching and Replacing Text for Beginners
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.

Python
1text = "The cat is on the mat." 2print(text.find('cat')) # returns 4, because text[4:7] = "cat" 3print(text.find('dog')) # returns -1, because 'dog' is not found 4print(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.

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

This method counts the occurrences of a substring.

Python
1text = "The cat is on the mat. The cat is sleeping." 2print(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:

Python
1msg = "Hello, NAME. Happy Birthday!" 2# Replace "NAME" with "Bob" 3print(msg.replace('NAME', 'Bob')) # Prints "Hello, Bob. Happy Birthday!" 4 5text = "The cat is on the mat. The cat is sleeping." 6# Replace only the first occurrence of "cat" with "dog" 7print(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.

Lesson Summary and Next Steps

Today, we learned how to perform Searching and Replacing operations in Python strings. We familiarized ourselves with Python string methods such as find(), index(), count(), and replace(), and applied them in a practical setting. Coming up next are exciting practice exercises that are perfect for cementing your understanding of these operations. Happy coding!

Enjoy this lesson? Now it's time to practice with Cosmo!
Practice is how you turn knowledge into actual skills.