Python - 字符串拆分

时间:2015-10-10 16:11:59

标签: python string python-2.7 split

书写 '1000011'.split('1') 给出

['', '0000', '', '']

我想要的是:

['1', '0000', '11']

我如何实现这一目标?

2 个答案:

答案 0 :(得分:2)

str.split(sep)方法不会将sep分隔符添加到输出列表。

您希望分组字符串字符,例如使用itertools.groupby

In:  import itertools

In:  [''.join(g) for _, g in itertools.groupby('1000011')]
Out: ['1', '0000', '11']

我们没有指定key参数,默认的key函数只返回元素不变。 g就是key个字符组。

答案 1 :(得分:0)

您可以使用正则表达式:

>>> re.findall(r'0+|1+','1000011')
['1', '0000', '11']