У меня проблемы с размещением разделителей в следующем тексте. Я хочу разместить '|' между текстом и между каждым из 3 последующих чисел. Проблема в том, что иногда цифры на самом деле являются тире, обозначая 0 (т. Е. - вместо 0).
text = """
A line of text 85 25,653 -75,321
Another - line 5,432 (5,353) --
Another one 23 -0- 86
One -- more -- -0- 34 25
"""
Пока я могу получить большую часть '|' разделители, используя следующий код:
text = re.sub(r'\s[(](\d)', '|(\\1', text)
text = re.sub(r'\s(\d)', '|\\1', text)
text = re.sub(r'\s-(\d)', '|-\\1', text)
Это выводит:
A line of text |85 |25,653 |-75,321
Another - line |5,432 |(5,353) --
Another one |23 |-0- |86
One -- more --|-0-|34|25
Однако я хочу еще один разделитель перед вторым - в строке 4, не помещая разделитель между One и -. Есть ли способ сделать это в Python?
Я бы хотел, чтобы конечный результат был:
A line of text |85 |25,653 |-75,321
Another - line |5,432 |(5,353) |--
Another one |23 |-0- |86
One -- more |--|-0-|34|25