请帮助解决此案例:
m = re.split('([A-Z][a-z]+)', 'PeopleRobots')
print (m)
结果:
['', 'People', '', 'Robots', '']
为什么列表中有空元素?
答案 0 :(得分:8)
如果分隔符中有捕获组,则匹配 字符串的开头,结果将以空字符串开头。该 同样适用于字符串的结尾:
如果您想获得People
和Robots
,请使用re.findall:
>>> re.findall('([A-Z][a-z]+)', 'PeopleRobots')
['People', 'Robots']
您可以省略分组:
>>> re.findall('[A-Z][a-z]+', 'PeopleRobots')
['People', 'Robots']