Как заменить пустые строки в Notepad ++? Я попробовал найти и заменить с пустыми строками в поиске и ничего не в замене, но это не сработало; вероятно, ему нужно регулярное выражение.
Удаление пустых строк в Notepad ++
Ответы (22)
Вам нужно что-то вроде регулярного выражения.
Вы должны быть в Extended режиме
Если вы хотите, чтобы все строки оказались в одной строке, используйте \r\n. Если вы хотите просто удалить пустые строки, используйте \n\r, как изначально предлагалось @Link.
Ничего не заменяйте любое выражение.
\r\n\r\n может привести к объединению 2 ваших строк. 23 Текст в строке 23! \r\n 24 \r\n 25\r\n 26Line 26 text.r\n может быть сжат до 23 Text on line 23! Line 26 text.
- person Robert Kaucher; 13.07.2012
\r\n\r\n и заменить на \r\n.
- person Robert Kaucher; 13.07.2012
\r\n\W*\r\n и заменить на \r\n
- person Myster; 14.04.2014
(\r\n|\r|\n)(\s*(\r\n|\r|\n))+ и замените его на \r\n, посмотрите его в действии здесь: regex101.com/r/qD9dB1/1
- person Myster; 18.08.2015
\n\r - для удаления полностью пустых строк. например line 1\r\n\r\nline 3: удаление \ n \ r оставит вас с line 1\r\nline 3
- person Brad; 16.04.2019
Теперь есть встроенный способ сделать это начиная с версии 6.5.2.
Edit -> Line Operations -> Remove Empty Lines or Remove Empty Lines (Containing Blank characters)
Есть плагин, который добавляет меню под названием TextFX. Это меню, в котором находится головокружительный набор опций быстрого редактирования текста, дает человеку возможность быстро вносить изменения в код. В этом меню вы можете найти такие пункты, как «Пропустить кавычки», «Удалить пустые строки», а также «Развернуть» и «Перенести текст заново».
Сделайте следующее:
TextFX > TextFX Edit > Delete Blank Lines
TextFX > TextFX Edit > Delete Surplus Blank Lines
TextFX > TextFX Tools - это сортировка строк с возможным удалением дубликатов. Очень удобный способ сделать Unix sort -u в Windows без cygwin, unxutils и т.п.
- person Cam Jackson; 06.10.2011
Settings > Import > plugin... и найдите файл dll, чтобы установить его. Он становится пунктом меню от Plugins
- person Nick Pickering; 02.11.2012
- блокнот ++
- Ctrl-H
- Выберите регулярное выражение
- Введите
^[ \t]*$\r?\nв поле "Найти", оставьте поле "заменить" пустым. Это будет соответствовать всем строкам, начинающимся с пробела и заканчивающимся возвратом каретки (в данном случае crlf Windows) - Нажмите кнопку «Найти далее», чтобы убедиться, что она соответствует только пустым строкам.
(^[ \t]*$\s)\s* в поле поиска и оставил замену пустым. Работает отлично. Спасибо!
- person slyfox1186; 21.06.2020
^\s*$ работает для нескольких строк? не следует ^ $ ограничивать его одной строкой? (@njank или кто-нибудь еще)
- person Albin; 02.12.2020
- Нажмите ctrl + h (ярлык для замены).
- В зоне Найти что введите
^\R(только для пустых строк) или^\h*\R(только для пустых строк с пробелами). - Оставьте зону Заменить на пустой.
- Установите флажок Обтекать.
- Выберите режим поиска Регулярное выражение.
- Нажмите кнопку Заменить все.
\h? Также \r?\n уже включает разрывы строк Win и Unix, в чем преимущество использования \R? Существуют ли регулярные варианты использования, когда вам это нужно?
- person Albin; 02.12.2020
Вы можете следовать технике, показанной на следующем снимке экрана:
- Найдите что:
^\r\n - Заменить на
keep this empty - Режим поиска:
Regular expression - Обтекание: выбрано
ПРИМЕЧАНИЕ. для файлов * nix просто найдите по \n
Это сработало для меня:
- Нажмите
ctrl + h(ярлык для замены) - Напишите одно из следующих регулярных выражений в поле
find what.[\n\r]+$или^[\n\r]+ - Оставьте поле
Replace withпустым - В
Search ModeвыберитеRegex - Нажмите
Replace All
Готово!
В блокноте ++ нажмите CTRL + H, в режиме поиска щелкните переключатель «Расширенный (\ n, \ r, \ t ...)», затем введите в поле «Найти»: \ r \ n (сокращение от CR LF ) и оставьте поле "Заменить на" пустым.
Наконец нажмите заменить все
\n.
- person BoltClock; 05.10.2010
Ну, я не уверен насчет регулярного выражения или вашей ситуации ..
Как насчет CTRL + A, выберите меню TextFX -> TextFX Edit -> Удалить пустые строки и альт все пустые строки исчезнут.
Боковое примечание - если строка пуста, т.е. не содержит пробелов, это сработает.
Вы можете найти следующее регулярное выражение: ^(?:[\t ]*(?:\r?\n|\r))+ и заменить его пустым полем
Ctrl + H.
найти - \ r \ r заменить на - \ r.
1) Ctrl + H (или Search ???? Replace..), чтобы открыть окно замены.
2) Выберите 'Search Mode' "Регулярное выражение".
3) В "Найти что" введите ^(\s*)(.*)(\s*)$, а в "Заменить на" введите \2.
^- соответствует началу строки символа(\s*)- соответствует пустым пробелам(.*)- соответствует любым символам(\s*)- соответствует символам пустых пробелов$- соответствует символу конца строки\2- обозначает совпадение второй скобки
См. https://www.rexegg.com/regex-quickstart.html, чтобы узнать больше о регулярных выражениях.
Это явно не работает, если пустые строки содержат табуляторы или пробелы. Многие веб-страницы (например, http://www.guardian.co.uk/) содержат эти белые линии , в результате неправильного редактора HTML.
Удалите пробелы с помощью регулярного выражения следующим образом:
изменить шаблон: [\ t] + $ в ничто.
где [\ t] соответствует либо табуляции, либо пробелу. '+' соответствует одному или нескольким вхождениям, а '$' обозначает конец строки.
Затем используйте notepad ++ / textFX, чтобы удалить одиночные или лишние пустые строки. Убедитесь, что эти пустые строки не имеют значения в данном контексте.
- Правка >> Пустые операции >> Обрезать начальные и конечные пробелы (для удаления черных табуляции и пробелов в пустых строках)
- Ctrl + H, чтобы получить окно замены и заменить шаблон:
^\r\nничем (выберите регулярное выражение)
Примечание. На шаге 1 будет удалено намерение кода, сделанное с помощью вкладок и пробелов.

Иногда \ n \ r и т. Д. Не работают, вот чтобы понять, каким должно быть ваше на самом деле регулярное выражение.
Преимущество этого трюка: если вы хотите заменить сразу несколько файлов, вам понадобится этот метод. Выше не получится ...
CTRL + A, выберите меню TextFX -> TextFX Edit -> Удалить пустые строки, как предложено выше.
Но если в строках есть пробел, переместите курсор на эту строку и нажмите CTRL + H. Секция «Найти что:» покажет пустое пространство, а в разделе «Заменить на» оставьте его пустым. Теперь все пробелы удалены, и теперь попробуйте CTRL + A, выберите меню TextFX -> TextFX Edit -> Удалить пустые строки
/n/r предполагает определенный тип разрыва строки. Чтобы настроить таргетинг на любую пустую строку, вы также можете использовать:
^$
Здесь сказано - любая строка, которая начинается и заканчивается ничем между ними. Это больше похоже на все. Замените такой же пустой строкой.
Я не видел комбинированного ответа в качестве ответа, поэтому найдите ^ \ s + $ и замените его на {ничего}
^\s+$ means
^ start of line
\s+ Matches minimum one whitespace character (spaces, tabs, line breaks)
$ until end of line
^\s+^(\S) и заменить на \1.
- person jiggunjer; 03.11.2017
Простая альтернатива для удаления пробелов из пустых строк:
- TextFX> Редактировать TextFX> Обрезать конечные пробелы
Это удалит все конечные пробелы, включая конечные пробелы в пустых строках. Убедитесь, что конечные пробелы не имеют значения.
Некоторые из приведенных выше выражений и расширенных выражений у меня не работали, но регулярное выражение «$ \ n $» работало.
эта работа для меня:
SEARCH:^\r
REPLACE: (empty)
\n и windows eol \r\n
- person Toto; 15.07.2019
Этот шаблон протестирован в Notepad ++ v8.1.1
Он заменяет все spaces/tabs/blank lines до и после каждой строки текста.
Он не должен ничего путать в середине текста.
Find: ^(\s|\t)+|(\s|\t)+$
Replace: leave this blank
Before:
_____________________________________
\tWORD\r\n
\r\n
\tWORD\s\tWORD\s\t\r\n
\r\n
\r\n
WORD\s\s\tWORD\t\sWORD\s\r\n
\t\r\n
\s\s\s\r\n
WORD\s\sWORD\s\s\t\r\n
____________________________________
After:
_____________________________________
WORD\r\n
WORD\s\tWORD\r\n
WORD\s\s\tWORD\t\sWORD\r\n
WORD\s\sWORD
_____________________________________


