In this Python programming tutorial, we will learn how to split a string using regular expressions (regex) in Python. We will be using the re
module, which is part of the Python standard library. Let’s take a few examples and see how we can split a string using regex in Python.
Split a String Using Regex in Python
Below are the steps we will follow to split a string using regex in Python.
- Import the
re
module - Define the input string
- Define the regex pattern
- Use
re.split()
function to split the string - Print the output
Step-1: Import the re
module
First, we need to import the re
module to use the regex functions:
import re
Step-2: Define the input string
In this example, we will use the string “United States of America”:
input_string = "United States of America"
Step-3: Define the regex pattern
We need to define the regex pattern that we will use to split the input string in Python. Let’s say we want to split the string at each space character. We can use the regex pattern \s
to match any whitespace character:
pattern = r'\s'
Step-4: Use re.split()
function to split the string
Now, we will use the Python re.split()
function from the re
module to split the input string based on the defined regex pattern:
split_string = re.split(pattern, input_string)
Step-5: Print the output
Finally, we can print the output to see the result:
print(split_string)
This will give the output:
['United', 'States', 'of', 'America']
Here is the complete code to Split a String Using Regex in Python.
import re
# Step 2: Define the input string
input_string = "United States of America"
# Step 3: Define the regex pattern
pattern = r'\s'
# Step 4: Use re.split() function to split the string
split_string = re.split(pattern, input_string)
# Step 5: Print the output
print(split_string)
This is how to split a string in Python using regex.
Let us see a few more examples of how to split a string in Python using regex with different regex patterns and input strings.
Example-1: Splitting a string with multiple whitespace characters
Input string: "United States\t of \nAmerica"
Pattern: \s+
(matches one or more whitespace characters)
import re
input_string = "United States\t of \nAmerica"
pattern = r'\s+'
split_string = re.split(pattern, input_string)
print(split_string)
Output:
['United', 'States', 'of', 'America']
Example-2: Splitting a string on commas and spaces
Input string: "apple, banana,grape, cherry"
Pattern: \s*,\s*
(matches a comma with zero or more whitespace characters before and after)
import re
input_string = "apple, banana,grape, cherry"
pattern = r'\s*,\s*'
split_string = re.split(pattern, input_string)
print(split_string)
Output:
['apple', 'banana', 'grape', 'cherry']
Example-3: Splitting a string with a mixture of delimiters
Input string: "apple; banana, grape|cherry"
Pattern: \s*[,;|]\s*
(matches a comma, semicolon, or vertical bar with zero or more whitespace characters before and after)
import re
input_string = "apple; banana, grape|cherry"
pattern = r'\s*[,;|]\s*'
split_string = re.split(pattern, input_string)
print(split_string)
Output:
['apple', 'banana', 'grape', 'cherry']
Example-4: Splitting a string with digits as delimiters
Input string: "apple1banana22grape333cherry"
Pattern: \d+
(matches one or more digits)
import re
input_string = "apple1banana22grape333cherry"
pattern = r'\d+'
split_string = re.split(pattern, input_string)
print(split_string)
Output:
['apple', 'banana', 'grape', 'cherry']
Conclusion
In this tutorial, we learned how to split a string using regular expressions (regex) in Python. By leveraging the powerful re
module, we can effectively split strings with complex patterns and varying delimiters. The re.split()
function allows us to define and use custom regex patterns to match specific requirements and accurately split input strings.
We covered different examples to demonstrate the flexibility and versatility of the re.split()
function, including cases with multiple whitespace characters, various delimiters, and mixed delimiters.
You may also like the following Python string tutorials:
- How to Split a String into an Array in Python
- How to split a string into equal half in Python?
- How to split a string into individual characters in Python
- How to split a string by index in Python
I am Bijay Kumar, a Microsoft MVP in SharePoint. Apart from SharePoint, I started working on Python, Machine learning, and artificial intelligence for the last 5 years. During this time I got expertise in various Python libraries also like Tkinter, Pandas, NumPy, Turtle, Django, Matplotlib, Tensorflow, Scipy, Scikit-Learn, etc… for various clients in the United States, Canada, the United Kingdom, Australia, New Zealand, etc. Check out my profile.