Я пытаюсь удалить пустые строки в документе, но хочу сохранить отдельные пробелы без изменений. Например:

line 1

line 2


line 3



line 4

Необходимо удалить поиск и замену, чтобы оставить одну пустую строку между всеми:

line 1

line 2

line 3

line 4

Любая помощь приветствуется. Благодарю.

3 ответа3

2
  • В диалоговом окне « Замена » (Ctrl-H) выберите «Режим расширенного поиска».
  • В поле « Найти текст» введите (для соглашения о возврате каретки / переводе строки в Windows, чтобы отметить конец строки):

    \ Г \ п \ г \ п

  • Для замены текста введите

    \ Г \ п

Каждый раз, когда вы нажимаете « Заменить все», двойные CR/LF будут преобразованы в одинарные, или четырехкратные CR/LF в двойные.

Вводимые символы могут быть изменены в различных обстоятельствах, например, если строка имеет один пробел или если соглашение CR/LF отличается, как в Mac и ОС Linux.

0

Решение для Windows: вы можете использовать этот скрипт autohotkey на notepad++.

Бонус: он будет работать на Notepad ++ плюс везде на вашем компьютере.

Вы можете вызвать это с помощью ярлыка (alt+ пробел здесь):

^!Space::
    clipboard =
    Send, ^a
    Send, ^c
    ClipWait
    ClipBoard := RegExReplace(ClipBoard, "\R(?=\R{2,})")
    sleep 100
    Send, ^v
    return
0

Это заменит все разрывы строк, за которыми следуют 2 перехода на новую строку, при этом останется только 2 перехода на новую строку.

  • Ctrl+H
  • Найти что: \R+(?=\R{2})
  • Заменить на: LEAVE EMPTY
  • проверить обернуть
  • проверьте регулярное выражение
  • Заменить все

Объяснение:

\R+         : 1 or more any kind of linebreak (i.e. \r, \n, \r\n)
(?=         : positive lookahead, a zero-length assertion that make sure we have after
    \R{2}   : 2 linebreaks
)           : end lookahead

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

line 1

line 2

line 3

line 4

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .