re.split() gives empty elements in list

According to re.split documentation:

If there are capturing groups in the separator and it matches at the
start of the string
, the result will start with an empty string. The
same holds for the end of the string:

If you want to get People and Robots, use re.findall:

>>> re.findall('([A-Z][a-z]+)', 'PeopleRobots')
['People', 'Robots']

You can omit grouping:

>>> re.findall('[A-Z][a-z]+', 'PeopleRobots')
['People', 'Robots']

Leave a Comment