Удаление пустых строк в Notepad ++

323

Как заменить пустые строки в Notepad ++? Я попробовал найти и заменить пустыми строками в поиске, и ничего не заменил, но это не сработало; он, вероятно, нуждается в регулярном выражении.

Теги:
notepad++

20 ответов

336
Лучший ответ

Вам нужно что-то вроде регулярного выражения.

Вы должны быть в Extended режиме

Если вы хотите, чтобы все строки заканчивались на одной строке, используйте \r\n. Если вы хотите просто удалить пустые строки, используйте \n\r \r\n как изначально предлагалось @Link.

Замените любое выражение ничем.

  • 17
    Сначала следует выбрать «расширенный» в режиме поиска.
  • 0
    Следует отметить, что замена всего на \r\n\r\n может привести к объединению двух ваших строк. 23 Текст в строке 23! \r\n 24 \r\n 25\r\n 26 Строка 26 текста. r\n может быть сжат до 23 Текст в строке 23! Текст строки 26.
Показать ещё 6 комментариев
476

Теперь есть встроенный способ сделать это с версии 6.5.2

Edit -> Line Operations -> Remove Empty Lines или Remove Empty Lines (Containing Blank characters)

Изображение 4738

  • 0
    К сожалению, это не учитывает ваш выбор, оно удалит все пустые строки в файле, даже если вы выбрали только некоторые из них.
  • 0
    Если это однократная операция, вы можете извлечь выбранные строки на новую вкладку notepad ++ и выполнить эту операцию там. Процедура копирования-вставки за 5 секунд. Любой другой обходной путь, который не может быть достигнут за это время, по моему мнению, является пустой тратой. Но если вы делаете это каждый день 100 раз ...
Показать ещё 1 комментарий
127

Существует плагин, который добавляет меню под названием TextFX. Это меню, в котором находится головокружительное множество вариантов быстрого редактирования текста, дает человеку возможность быстро менять кодировку. В этом меню вы можете найти такие варианты, как Drop Quotes, Delete Blank Lines, а также Unwrap и Rewrap Text

Сделайте следующее:

TextFX > TextFX Edit > Delete Blank Lines
TextFX > TextFX Edit > Delete Surplus Blank Lines
  • 6
    Не уверен, когда, но может показаться, что этот плагин установлен по умолчанию сейчас. Немного не по теме, но одна из других невероятно полезных функций, в TextFX > TextFX Tools , это сортировка строк, опционально удаляя дубликаты. Очень удобный способ выполнить sort -u Unix sort -u на коробке Windows без Cygwin или unxutils или подобного.
  • 3
    Вот ссылка на плагин TextFx. Я нахожу это очень полезным. Используйте: Settings > Import > plugin... и найдите файл DLL для его установки. Это становится пунктом меню Plugins
Показать ещё 1 комментарий
68
  • Notepad ++
  • Ctrl-H
  • Выберите "Регулярное выражение"
  • Введите ^[ \t]*$\r?\n, чтобы найти что, оставьте замену пустым. Это будет соответствовать всем строкам, начинающимся с пробела и заканчивающимся возвратом каретки (в данном случае окном crlf)
  • Нажмите кнопку "Найти далее", чтобы убедиться, что она соответствует только пустым строкам.
  • 1
    Мне пришлось использовать этот метод вместо некоторых других методов, чтобы он легко работал в макросе. Спасибо.
  • 0
    Этот метод также работал для меня. Благодарю.
Показать ещё 1 комментарий
13

Это сработало для меня:

  • Нажмите ctrl + h (ярлык для замены)
  • Введите одно из следующих регулярных выражений в поле find what. [\n\r]+$ или ^[\n\r]+
  • Оставьте Replace with пустое поле
  • В Search Mode выберите Regex
  • Нажмите Replace All

    Готово!
  • 0
    Это единственное решение, которое не испортило мои огромные файлы .csv. Спасибо!
  • 0
    Добро пожаловать @VME :)
12

В блокноте ++ нажмите CTRL + H, в режиме поиска нажмите на кнопку "Extended (\n,\r,\t...)", затем введите поле "Найти что":\r\n (короткий для CR LF) и оставьте поле "Заменить на" пустым.

Наконец, удалите все

  • 0
    опечатка извините за это ..
  • 0
    на самом деле, я попробовал, см. мое разъяснение в моем ответе. Вы были на что-то!
Показать ещё 3 комментария
11

Ну, я не уверен в регулярном выражении или вашей ситуации.

Как насчет CTRL + A, выберите меню TextFX → Редактирование TextFX → Удалить пустые строки и альта, все пустые строки исчезли.

Сторона примечания - если строка пуста, то есть не содержит пробелов, это будет работать

10
  1. Нажмите Ctrl + H (ярлык для замены).
  2. В поле Найти что введите ^\R (для точных пустых строк) или ^\h*\R (только для пустых строк с пробелами).
  3. Оставьте Заменить с пустой зоной.
  4. Проверьте опцию Обтекание.
  5. Выберите режим поиска регулярных выражений.
  6. Нажмите на кнопку Заменить все.

Изображение 4739

10

Вы можете найти следующее регулярное выражение: ^(?:[\t ]*(?:\r?\n|\r))+ и заменить его пустым полем

10

Ctrl + H.

найти -\r\r замените на -\r.

  • 0
    Это работает для меня, удаляя лишнюю строку, в смысле нахождения двойной замены \ r на одну \ r. Спасибо!!
  • 0
    Это работало хорошо, однако я обнаружил, что мне нужно запустить его несколько раз в моем документе, прежде чем все экземпляры \ r \ r исчезнут. Я не уверен почему.
7

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

  • Найти что: ^\r\n
  • Заменить на: keep this empty
  • Режим поиска: Regular expression
  • Обернуть вокруг: выбрано

Изображение 4740

Примечание: для * nix файлов просто найдите по \n

  • 1
    Это не будет работать с Linux eol \n .
  • 0
    Добавлена заметка @Toto
6

Это, очевидно, не работает, если пустые строки содержат вкладки или пробелы. Многие веб-страницы (например, http://www.guardian.co.uk/) содержат эти белые строки в результате неправильного HTML-редактора.

Удалите пустое пространство с помощью регулярного выражения следующим образом:

изменить шаблон: [\ t] + $в ничто.

где [\ t] соответствует любой вкладке или пробелу. "+" соответствует одному или нескольким вхождениям, а "$" обозначает конец строки.

Затем используйте блокнот ++/textFX для удаления одиночных или лишних пустых строк. Убедитесь, что эти пустые строки не имеют значения в данном контексте.

4

Изображение 4741

Иногда\n\r и т.д. не работает, здесь, чтобы понять, каково ваше фактическое регулярное выражение.

Преимущество этого трюка: если вы хотите сразу заменить его в несколько файлов, вам понадобится этот метод. Выше не будет работать...

3

CTRL + A, выберите меню TextFX → TextFX Edit → Delete Blank Lines, как было предложено выше.

Но если строки содержат некоторое пространство, то переместите курсор на эту строку и сделайте CTRL + H. В поле "Найти что:" будет показано пустое место и в разделе "Заменить на" оставьте его пустым. Теперь все пробелы удалены и теперь попробуйте CTRL + A, выберите меню TextFX → TextFX Edit → Delete Blank Lines

3
  • Изменить → Пустые операции → Обрезать ведущие и трейлинг-пространства (чтобы удалить черные вкладки и пробелы в пустых строках)
  • Ctrl + H, чтобы получить окно замены и заменить шаблон: ^\r\n ничем (выберите регулярное выражение)

Примечание: шаг 1 удалит вашу реализацию кода, выполненную с помощью вкладок и пробелов

1

Я не видел комбинированный ответ, поэтому поиск ^\s + $и замена на {ничего}

^\s+$ means
  ^ start of line
  \s+ Matches minimum one whitespace character (spaces, tabs, line breaks)
  $ until end of line
  • 0
    если вам нужно несколько строк, вы можете попробовать: ^\s+^(\S) и заменить на \1 .
1

/n/r принимает определенный тип разрыва строки. Чтобы настроить таргетинг на любую пустую строку, вы также можете использовать:

^$

Это говорит - любая строка, которая начинается, а затем не заканчивается между ними. Это скорее всего. Замените ту же пустую строку.

0

Это очень просто

Ctrl + H

Найти:\r\n\r\n

Заменить на:\r\n

См Snap

0

Несколько из приведенных выше выражений и расширенных выражений не работали для меня, но регулярное выражение "$\n $".

0

Легкая альтернатива для удаления пробела из пустых строк:

  • TextFX > TextFX Edit > Trim Trailing Spaces

Это приведет к удалению всех конечных пробелов, включая пробелы в пустых строках. Удостоверьтесь, что длина пробелов не значительна.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню