Skip to Content

Python – Split String by Underscore

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

How to split a string in Python?

Split a string in python by underscore

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 underscore in Python, pass the underscore character "_" as a delimiter to the split() function.

The following is the syntax –

# split string s by underscore

It returns a list of strings resulting from splitting the original string on the occurrences of "_".

Let’s look at some examples.

Split string by underscore

Here, we pass underscore as the delimiter to the string split() function.

# string with underscores
s = "you_have_the_right_to_remain_silent"
# split string by underscore
ls = s.split("_")


['you', 'have', 'the', 'right', 'to', 'remain', 'silent']

The resulting list contains words resulting from the split of the original string by underscore.

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 underscore, "_"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 with underscores
s = "you_have_the_right_to_remain_silent"
# split string by underscore
ls = s.split("_", maxsplit=1)


['you', 'have_the_right_to_remain_silent']

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 with underscores
s = "you_have_the_right_to_remain_silent"
# split string by underscore
ls = s.split("_", maxsplit=2)


['you', 'have', 'the_right_to_remain_silent']

The resulting list has only three strings.

You might also be interested in –

  1. Python – Remove Multiple Spaces From a String
  2. 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.


  • Piyush

    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.