How To Split A String Between Letters And Digits In Python

In today’s tutorial, we are going to learn how to split a string between letters and digits in Python.

The task of splitting a string between letters and digits might not sound like an easy job, but with Python’s built-in functions and the regex (regular expressions) module, it’s a piece of cake. So, let’s get started!

Step 1: Understanding the problem

The very first step in any programming task is understanding the problem at hand. What we are trying to do here is to separate the letters and digits in a string. For instance, if our string input is ‘abc123def456’, we want to split this string to get ‘abc’, ‘123’, ‘def’, and ‘456’ separately.

Step 2: Importing the necessary module

To solve this task, we are going to use Python’s regex module, also referred to as re, which stands for Regular Expressions. This module provides support for various operations on strings such as searching, splitting, and replacing.

Step 3: Splitting the string using regex

To split the string, you can use the re.split() function from the regex module. The split function takes a pattern and a string and splits the string wherever the pattern matches.


['abc', '123', 'def', '456', '']

As you can see, the string was split between letters and digits as we wanted. The function re.split(‘(\d+)’, input_str) is splitting the string wherever it finds one or more digit(s). The parentheses in the pattern are used to include the digits in the result.

Full code:


And with that, we have successfully learned how to split a string between letters and digits in Python. As we can see, Python’s regex module provides a handy solution for such string manipulations. The concept we learned here can be extended to more complex string operations as well, making our jobs as Python developers a lot easier. Happy coding!