I need to split strings like this:
'-89p-98u+2s-26y+97q+67r+71w-52t-3735+80z-7x+17v'
but exclude the first ‘-‘
[-|+]
captures all the ‘-‘ and ‘+’ but sadly gets the first one too:
s = '-89p-98u+2s-26y+97q+67r+71w-52t-3735+80z-7x+17v'
re.split(r'[-|+]', s)
['', '89p', '98u', '2s', '26y', '97q', '67r', '71w', '52t', '3735', '80z', '7x', '17v']
How do i exclude the first ‘-‘?
>Solution :
You could use a negative lookbehind to prevent splitting just after the start of the line:
>>> s = '-89p-98u+2s-26y+97q+67r+71w-52t-3735+80z-7x+17v'
>>> re.split(r'(?<!^)[-|+]', s)
['-89p', '98u', '2s', '26y', '97q', '67r', '71w', '52t', '3735', '80z', '7x', '17v']