import re
def split_before(pattern,text):
prev = 0
for m in re.finditer(pattern,text):
yield text[prev:m.start()]
prev = m.start()
yield text[prev:]
if __name__ == '__main__':
print list(split_before("a","fffagggahhh"))
re.split рассматривает образец как разделитель.
>>> print list(split_before("a","afffagggahhhaab"))
['', 'afff', 'aggg', 'ahhh', 'a', 'ab']
>>> print list(split_before("a","ffaabcaaa"))
['ff', 'a', 'abc', 'a', 'a', 'a']
>>> print list(split_before("a","aaaaa"))
['', 'a', 'a', 'a', 'a', 'a']
>>> print list(split_before("a","bbbb"))
['bbbb']
>>> print list(split_before("a",""))
['']
Что вы ожидаете, когда вы разбиваете '' aaa ''-' [' ',' a ',' a ',' a '] 'или' [' a ',' a ',' a '] ' ? – kennytm
«aaa» -> «a», «a», «a» или «», «a», «a», «a» – kakarukeys
благодарю вас за все работоспособные ответы! – kakarukeys