Splitting a string with multiple delimiters in Python

David DeMar picture David DeMar · May 1, 2012 · Viewed 45.9k times · Source

I'm using regular expressions to split a string using multiple delimiters. But if two of my delimiters occur next to each other in the string, it puts an empty string in the resulting list. For example:

re.split(',|;', "This,is;a,;string")

Results in

['This', 'is', 'a', '', 'string']

Is there any way to avoid getting '' in my list without adding ,; as a delimiter?

Answer

Óscar López picture Óscar López · May 1, 2012

Try this:

import re
re.split(r'[,;]+', 'This,is;a,;string')
> ['This', 'is', 'a', 'string']