Tom Tom - 1 month ago 7
Python Question

Python split string with some items of the string in order

Surpose the string:

'abcdeabcdeabcdeabcdeabcdeabcde'


split by :

'cdebbe'


output:

'ab c d e a b cdea b cd e abcdeabcde'


This means split string

'abcdeabcdeabcdeabcdeabcdeabcde'


by indexes

[2,3,4,6,10,14]


How to do this by Python? This question is similar to Split a list into parts based on a set of indexes in Python
If follow the answers the out put is :

['ab', 'c', 'd', 'ea', 'bcde', 'abcd', 'eabcdeabcdeabcde']


isnt the expected output.

Answer

This quite matches your expected output, but I don't know what's the logic when 'cdebbe' reaches the end.

s = 'abcdeabcdeabcdeabcdeabcdeabcde'
split = 'cdebbe'

result = []
for c in split:
    left, center, s = s.partition(c)
    if left:
        result.append(left)
    result.append(center)

print(' '.join(result)) # ab c d e a b cdea b cd e
Comments