如何合并连续的分隔符?

26 投票
6 回答
23665 浏览
提问于 2025-04-16 20:16

在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])

撰写回答