How to Substring a String in Python | phoenixNAP KB (2024)

Introduction

Python offers a range of functionalities to work with string data types. One such feature is the ability to extract substrings from a string.

Working with substrings is a valuable programming feature when dealing with textual data.

This guide teaches you how to substring a string in Python and the various use cases of substrings.

How to Substring a String in Python | phoenixNAP KB (1)

Prerequisites

  • Python 3 installed (see how you can check the Python version).
  • Access to a text editor or IDE.
  • A way to run the code (an IDE or terminal).

What is a Substring in Python?

In Python, a substring is a character sequence inside a larger string, and every character has an index. The indexing can be:

  • Positive (from the first character to the last)
  • Negative (from the last character to the first)
How to Substring a String in Python | phoenixNAP KB (2)

The syntax for extracting substrings from strings is:

string[start:stop:step]

Python uses string slicing notation to work with substrings, where:

  • start is the first character in the substring (default is the beginning).
  • stop is the first character excluded from the string (default is the end).
  • step is the distance between two characters (default is 1).

All three values can be positive or negative numbers. If left blank, the default values are assumed.

Alternatively, to divide a string into substrings based on a delimiter, use the split method:

string.split("<delimiter>","<max splits>")

Without a provided delimiter, the method divides the string based on whitespaces. By default, the maximum number of splits is unlimited, which you can limit only to perform a maximum number of divisions.

Substring Operations in Python

Python offers different ways to create substrings depending on the task. The examples in the sections below demonstrate various problems and walk through the code syntax to explain the behavior.

Create a Substring

To create a substring using slicing, refer to the following code:

quote = "Toto, I have a feeling we're not in Kansas anymore."print(quote[6:22])
How to Substring a String in Python | phoenixNAP KB (3)

The code prints a substring between two characters at the provided indexes.

Note: Learn how to perform string repetition in Python using several different methods.

Create a Substring From Beginning to Index

The following code shows how to make a substring from the beginning up to an index using slicing:

quote = "Toto, I have a feeling we're not in Kansas anymore."print(quote[0:4])print(quote[:4])
How to Substring a String in Python | phoenixNAP KB (4)

In both cases, the code prints a substring from the beginning. Use this method to fetch a substring before a specific character.

Create Substring from Index to End

To create a substring from a specific index to the end, see the following example:

quote = "Toto, I have a feeling we're not in Kansas anymore."print(quote[43:])print(quote[-8:])
How to Substring a String in Python | phoenixNAP KB (5)

In both cases, the code prints the end of a string after a specific character. Use negative indexing for substrings that are easier to count backward and regular indexing for substrings closer to the start.

Create Substrings Using Split

Use the split method to create substrings based on a delimiter. For example:

quote = "Toto, I have a feeling we're not in Kansas anymore."print(quote.split())
How to Substring a String in Python | phoenixNAP KB (6)

The output shows the code splits the given string by spaces and stores the result into a list of individual substrings.

Check if a Substring Exists

To see whether a substring exists within a string, use the in operator and print the result:

quote = "Toto, I have a feeling we're not in Kansas anymore."print("Toto" in quote)
How to Substring a String in Python | phoenixNAP KB (7)

The code checks for the provided string and returns an appropriate message (True or False). The search performs an exact match and takes capitalization into account.

Count a Substring in a String

Use thecountmethod on a string and provide the substring to find the number of occurrences in a substring. For example:

quote = "Toto, I have a feeling we're not in Kansas anymore."print(quote.count("a"))
How to Substring a String in Python | phoenixNAP KB (8)

The code counts the number of appearances of the letter "a" in the string. Use this method to find the total number of instances of a substring.

Find the Index of the First Substring

To fetch the index of the first found substring, use the following example:

quote = "Toto, I have a feeling we're not in Kansas anymore."print(quote.index("a"))
How to Substring a String in Python | phoenixNAP KB (9)

If the substring doesn't exist, the index method returns an error.

An alternative way to find the index of the first substring is:

quote = "Toto, I have a feeling we're not in Kansas anymore."string.find("a")
How to Substring a String in Python | phoenixNAP KB (10)

The find method returns -1 if the substring is not found.

Note: To find the last occurring index, use the rindex and rfind methods.

Find All Indexes of a Substring

To find the indexes of all occurring substrings, use a for loop and check with the startswith string method. For example:

quote = "Toto, I have a feeling we're not in Kansas anymore."for index in range(len(quote)): if quote.startswith("a",index): print(index)
How to Substring a String in Python | phoenixNAP KB (11)

The output prints all indexes of the substring in a new line.

Alternatively, use list comprehension to create a one-line solution:

quote = "Toto, I have a feeling we're not in Kansas anymore."index_list = [index for index in range(len(quote)) if quote.startswith("a",index)]print(index_list)
How to Substring a String in Python | phoenixNAP KB (12)

The resulting indexes are in a list. If there are no matches, the code returns an empty list.

Conclusion

You've learned how to create and work with substrings in Python. String slicing and various built-in methods simplify working with substrings. Knowing how to work with substrings is essential for tackling various text-based programming problems.

How to Substring a String in Python | phoenixNAP KB (2024)

References

Top Articles
Latest Posts
Article information

Author: Duane Harber

Last Updated:

Views: 6618

Rating: 4 / 5 (71 voted)

Reviews: 94% of readers found this page helpful

Author information

Name: Duane Harber

Birthday: 1999-10-17

Address: Apt. 404 9899 Magnolia Roads, Port Royceville, ID 78186

Phone: +186911129794335

Job: Human Hospitality Planner

Hobby: Listening to music, Orienteering, Knapping, Dance, Mountain biking, Fishing, Pottery

Introduction: My name is Duane Harber, I am a modern, clever, handsome, fair, agreeable, inexpensive, beautiful person who loves writing and wants to share my knowledge and understanding with you.