How to Split String by Regular Expression in Python?
Python - Split String by Regular Expression
You can split a string in Python with delimiter defined by a Regular Expression.
In this tutorial, we will learn how to split a string by a regular expression delimiter using re
python package.
Examples
1. Split given string by a regular expression
In this example, we will take a string with items/words separated by a combination of underscore and comma.
So, the delimiter could be __
, _,
, ,_
or ,,
. The regular expression to cover these delimiters is '[_,][_,]'
. [_,]
specifies that a character could match _
or ,
.
Python Program
import re
#a string
str = '63__foo,,bar,_mango_,apple'
#split string into chunks
chunks = re.split('[_,][_,]',str)
#print chunks
print(chunks)
Output
['63', 'foo', 'bar', 'mango', 'apple']
2. Split given string by a class of characters
Regular expression classes are those which cover a group of characters. We will use one of such classes, \d
which matches any decimal digit.
In this example, we will also use +
which matches one or more of the previous character.
Regular expression '\d+'
would match one or more decimal digits. In this example, we will use this regular expression to split a string into chunks which are separated by one or more decimal digits.
Python Program
import re
#a string
str = 'foo635bar4125mango2apple21orange'
#split with regular expression
chunks = re.split('\d+',str)
print(chunks)
Output
['foo', 'bar', 'mango', 'apple', 'orange']
Summary
In this tutorial of Python Examples, we learned how to re package to split a string using regular expressions.