Skip to Content

Split String by Substring in Python

In this tutorial, we will look at how to split a string into a list of strings on the occurrences of a substring in Python with the help of examples.

How to split a string in Python?

Split string by a substring in Python

You can use the Python string split() function to split a string (by a delimiter) into a list of strings. To split a string by substring in Python, pass the substring as a delimiter to the split() function.

The following is the syntax –

# split string s by a substring
s.split(sub)

It returns a list of strings resulting from splitting the original string on the occurrences of the given substring.

Let’s look at some examples.

Split string by Substring

Here, we pass the substring, “…” as the delimiter to the string split() function.

# string variable
s = "You are...my fire...the one...desire"
# split string by substring "..."
ls = s.split("...")
print(ls)

Output:

['You are', 'my fire', 'the one', 'desire']

The resulting list contains words resulting from the split of the original string on occurrences of the passed substring.

Fix the number of splits

You can also specify the maximum number of splits to be made using the maxsplit parameter. By default, the string split() function makes all the possible splits.

Let’s only split the above string into two parts at the occurrence of the substring “…” starting from the left. To split the string into two parts, the maxsplit should be 1, because we’re making only one split resulting in two strings.

# string variable
s = "You are...my fire...the one...desire"
# split string by substring "..."
ls = s.split("...", maxsplit=1)
print(ls)

Output:

['You are', 'my fire...the one...desire']

You can see that the resulting list has only two strings.

Let’s look at another example.

Let’s split the original string into three parts, here we pass maxsplit=2.

# string variable
s = "You are...my fire...the one...desire"
# split string by substring "..."
ls = s.split("...", maxsplit=2)
print(ls)

Output:

['You are', 'my fire', 'the one...desire']

The resulting list has only three strings.

You might also be interested in –

  1. Python – Split String by Underscore
  2. Python – Remove Multiple Spaces From a String
  3. Remove Linebreaks From String in Python


Subscribe to our newsletter for more informative guides and tutorials.
We do not spam and you can opt out any time.


Author

  • Piyush is a data scientist passionate about using data to understand things better and make informed decisions. In the past, he's worked as a Data Scientist for ZS and holds an engineering degree from IIT Roorkee. His hobbies include watching cricket, reading, and working on side projects.