Python. Разделить строку без удаления разделителя

Рейтинг: 0Ответов: 2Опубликовано: 08.03.2023

Дано:

text = 'x^2-16x-64'

Вывод:

['x^2', '-16x', '-64']

Ответы

▲ 1Принят

Выражение (?=[-+]) сопоставляется со знаками плюс или минус но не перемещает текущую позицию. В результате разделитель не удаляется из строки:

re.split('(?=[-+])', 'x^3+x^2-16x-64')
['x^3', '+x^2', '-16x', '-64']
▲ 0

Возможно есть способ получше, но в качестве примера

text = 'x^2-16x-64'
sp = '-'
tx = text.split(sp)
for i in range(1, len(tx)):
    tx[i] = sp + tx[i]
print(tx)

Вывод ['x^2', '-16x', '-64']