Как заменить пустые строки в Notepad ++? Я попробовал найти и заменить с пустыми строками в поиске и ничего не в замене, но это не сработало; вероятно, ему нужно регулярное выражение.
Удаление пустых строк в Notepad ++
Ответы (22)
Вам нужно что-то вроде регулярного выражения.
Вы должны быть в Extended
режиме
Если вы хотите, чтобы все строки оказались в одной строке, используйте \r\n
. Если вы хотите просто удалить пустые строки, используйте \n\r
, как изначально предлагалось @Link.
Ничего не заменяйте любое выражение.
\r\n\r\n
может привести к объединению 2 ваших строк. 23
Текст в строке 23! \r\n
24 \r\n
25\r\n
26
Line 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
_____________________________________