Объединение строк до тех пор, пока не будет достигнута «завершающая» строка

Объединение строк до тех пор, пока не будет достигнута «завершающая» строка

В файле у меня есть данные следующего вида:

123
456
789
---
101112
131415
161718
192021
------
222223242526
27282930313233
-----------------------

Мне нужно изменить строки так, чтобы они выглядели так:

123 456 789 ---
101112 131415 161718 192021 ------
222223242526 27282930313233 -----------------------

т.е. до определенной строки (последовательности дефисов) строки должны быть объединены.

Я перепробовал много методов, но так и не смог заставить это работать.

В моем фактическом файле около 15000 строк.

решение1

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

  • Ctrl+H
  • Найти то, что:(?<!-)\R
  • Заменить:A SPACE
  • проверить Обернуть вокруг
  • проверить Регулярное выражение
  • Replace all

Объяснение:

(?<!-)  : negative lookbehind, make sure we don't have a dash before
\R      : any kind of linebreak

Результат для данного примера:

123 456 789 ---
101112 131415 161718 192021 ------
222223242526 27282930313233 -----------------------

Связанный контент