如何合并连续的分隔符?
在Python中,默认的split
方法会把连续的空格当作一个分隔符来处理。但是如果你指定了一个分隔符字符串,连续的分隔符就不会被合并成一个了:
>>> 'aaa'.split('a')
['', '', '', '']
那么,有什么简单的方法可以把连续的分隔符合并起来呢?我知道可以通过从结果列表中去掉空字符串来实现:
>>> result = 'aaa'.split('a')
>>> result
['', '', '', '']
>>> result = [item for item in result if item]
不过有没有更方便的方法呢?
6 个回答
3
你可以使用正则表达式:
re.split(pattern, string[, maxsplit=0, flags=0])
作为
re.split('a+', 'aaa')
27
这就是你能做到的最简洁的写法:
string = 'aaa'
result = [s for s in string.split('a') if s]
或者你可以使用正则表达式来处理:
string = 'aaa'
result = re.split('a+', string)
15
你可以使用 re.split
这个功能,来用正则表达式作为分隔符,像这样:
re.split(pattern, string[, maxsplit=0, flags=0])