本文介绍了re.split() 给出列表中的空元素的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
请帮助解决这个问题:
m = re.split('([A-Z][a-z]+)', 'PeopleRobots')打印(米)
结果:
['', '人', '', '机器人', '']
为什么列表中有空元素?
解决方案
根据 重新拆分文档:
如果分隔符中有捕获组并且匹配在字符串开头,结果将以空字符串开头.这字符串的结尾也是如此:
如果您想获得 People
和 Robots
,请使用 re.findall:
您可以省略分组:
>>>re.findall('[A-Z][a-z]+', 'PeopleRobots')['人','机器人']please help with this case:
m = re.split('([A-Z][a-z]+)', 'PeopleRobots')
print (m)
Result:
['', 'People', '', 'Robots', '']
Why does the list have empty elements?
解决方案
According to re.split documentation:
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']
这篇关于re.split() 给出列表中的空元素的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!