Batya

|
Posted: Mon Jul 20, 2026 12:28 Post subject: |
|
|
Спасибо за ответы!
| Quote: | Найти:
(?m-s)^(_\|_\d+_\|)(.+?\r\n)\1
Заменить:
\2 |
К сожалению, не то
| Quote: | | этот шаблон стабильный или варьируется? |
Шаблон варьируется.
Постараюсь описать в более широком смысле...
Есть некоторое приложение, которое формирует логи работы. При этом часть логируемых данных записывается в некотором табличном виде. Суть задачи - скопировать из большого лога часть текста, описывающего таблицу, и не сохраняя в отдельный файл в Notepad++ макросом преобразовать этот текст таким образом, чтобы его потом скопировать и вставить в Excel уже в виде нормальной таблицы.
В исходном логе строки таблицы могут быть на отдельных строках, а могут быть склеены. Ключевая особенность в том, что начало табличного текста и начало каждой строки начинается с одинакового фрагмента, который меняется для каждого лога. Количество строк всегда разное. Количество склеенных строк (с удалённым переносом строк) заранее не известно. Проблема именно в том, что иногда случайны образом переносы строк удалены, и строки склеены.
Примеры:
| Code: | _|_78_|_чило124_|_текст125_|_78_|_текст126_|_число127
_|_78_|_ля-ля-ля128_|_129
_|_78_|_123_|_124_|_78_|_127_|_128 |
| Code: | _|_78_|_чило124_|_текст125
_|_78_|_текст126_|_число127
_|_78_|_ля-ля-ля128_|_129
_|_78_|_123_|_124_|_78_|_127_|_128 |
| Code: | _|_78_|_чило124_|_текст125_|_78_|_текст126_|_число127_|_78_|_ля-ля-ля128_|_129_|_78_|_123_|_124_|_78_|_127_|_128 |
Сам по себе начальный фрагмент полезной информации не несёт. Его можно заменить, а можно и оставить. В итоге хочу, чтобы получилось так:
| Code: | чило124_|_текст125
текст126_|_число127
ля-ля-ля128_|_129
123_|_124
127_|_128 |
или так
| Code: | _|_78_|_чило124_|_текст125
_|_78_|_текст126_|_число127
_|_78_|_ля-ля-ля128_|_129
_|_78_|_123_|_124
_|_78_|_127_|_128 |
После замены убрать лишние пустые строки - не проблема. Возможное попадание хороших данных в совпадение с начальным фрагментом и замена их на перенос строки - не страшно.
Думаю, что задачу можно решить макросом на vba для вставки в Excel, но хотелось именно решить через регулярные выражения - давно мечтал их полностью освоить. _________________ Нет, я не сплю. Я просто медленно моргаю.
Last edited by Batya on Mon Jul 20, 2026 13:16; edited 1 time in total |
|