Используя регулярное выражение VSCode, сопоставьте и удалите несколько строк - PullRequest
0 голосов
/ 06 сентября 2018

У меня есть массивный текстовый документ (с использованием кода VS), который выглядит следующим образом и продолжается в том же порядке в течение нескольких тысяч строк. По сути, у нас есть целое число, число с плавающей точкой, которое всегда начинается с 0,00, а затем четыре пустые строки:

468653564
0.0013348548




160919876
0.0015948548




239109587
0.0010948548




190959199
0.0023948548




163220290
0.001348548

Как мне отформатировать этот документ, чтобы убрать пустые строки и плавающее число, чтобы в итоге получилось что-то похожее на это:

468653564
160919876
239109587
190959199
163220290

Этот шаблон работает нормально для первого шага (0.00.*) и для этого ^$\n для второго, но есть ли способ получить все это одним махом?

Ответы [ 3 ]

0 голосов
/ 06 сентября 2018

Одна возможность

^(?!\d{2}).*\n

и заменить на пустую строку. Соответствует всем строкам, которые не начинаются с 2 цифр.

0 голосов
/ 06 сентября 2018

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

0\.00\d+(\r?\n)*

Звезда изменяет группу на «ноль или более». Это соответствует отсутствующим разрывам строк в конце данных, а также разрывам строк, которые вы хотите удалить. \r помечен как необязательный, чтобы учесть различия в стиле Unix по сравнению с Windows. Остальная часть шаблона почти такая же, как написано: найдите ноль, за которым следует десятичная точка, за которой следует двойной ноль, за которым следуют одна или несколько (+) цифр, за которыми следуют необязательные разрывы строк.

0 голосов
/ 06 сентября 2018

Чтобы обработать несколько шаблонов регулярных выражений за один раз, просто добавьте оператор "или" (|), разделяющий их:

0\.00.*\n|^$\n

Так что это, по сути, говорит, что ищите 0,00 ... ИЛИ пустых строк.

Несколько более эффективный шаблон может заключаться в поиске цифр \d (без указания конкретных), за которыми следует точка, а затем дополнительные цифры, поскольку для этого требуется меньше шагов:

^(\n|\d\.\d+\n)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...