【发布时间】:2013-08-08 10:56:30
【问题描述】:
请帮忙解决这个问题:
m = re.split('([A-Z][a-z]+)', 'PeopleRobots')
print (m)
结果:
['', 'People', '', 'Robots', '']
为什么列表有空元素?
【问题讨论】:
请帮忙解决这个问题:
m = re.split('([A-Z][a-z]+)', 'PeopleRobots')
print (m)
结果:
['', 'People', '', 'Robots', '']
为什么列表有空元素?
【问题讨论】:
如果分隔符中有捕获组并且它匹配在 字符串的开头,结果将以空字符串开头。这 字符串的结尾也是如此:
如果要获取People 和Robots,请使用re.findall:
>>> re.findall('([A-Z][a-z]+)', 'PeopleRobots')
['People', 'Robots']
您可以省略分组:
>>> re.findall('[A-Z][a-z]+', 'PeopleRobots')
['People', 'Robots']
【讨论】: