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']