Notepad удалить пустые строки
Я хочу очистить некоторые данные, скопированные из электронной таблицы Excel, и стереть любое форматирование с помощью Notepad++. Я хочу использовать нумерацию строк в Notepad++ для подсчета количества строк, которые у меня есть. То есть: количество строк с фактическими данными в Excel.
Причина для экспорта данных из Excel
Каждая строка таблицы - это собственный номер строки. На это указывает число в левом поле в Excel. Так что я мог бы посмотреть на это и понять это.
То есть если это выглядит так:
Но если это выглядит так .
. и список очень длинный, тогда трудно сказать, сколько строк / строк в этом списке. Я должен был бы пойти вниз по списку и визуально сосчитать строки. Я имею в виду, я знаю, что у Word есть возможность сказать вам, сколько строк или слов у вас есть в документе. Но я не уверен, что в Excel даже есть такая вещь.
И я не знаю, можете ли вы что-нибудь сделать с этим прямо в Excel, то есть сказать, чтобы он удалял строки ячеек без каких-либо данных и перемещал ряды ячеек рядом друг с другом (верх / низ). Если вы знаете способ, пожалуйста, поделитесь им. Но я думаю, что Notepad++ - отличный инструмент для манипулирования такими текстовыми данными.
Проблема, с которой я сталкиваюсь в Notepad++
Я хочу удалить лишние разрывы строк. Вот как это может выглядеть.
Я хочу удалить строки 5, 6, 9, 10, 11 и 12.
Что я пробовал
- Редактирование TextFX: я попробовал опцию Удалить пустые строки из меню Правка. Не сработало* 1
- Заменить: я попытался набрать \n\r в поле поиска и ничего в поле замены. "0 найденных ошибок" * 2
- Заменить: я попытался набрать \r\n в поле поиска и ничего в поле замены. "402 замены были заменены", но это помещает все в одну строку. Как это: что-то что-то что-то
- Меню "Правка": я пытался удалить пустые строки из меню "Правка".* 3
- Меню "Правка": я пытался соединить линии из меню "Правка".
Так что еще. что еще я могу попробовать?
Это результат, который я после:
Как мне этого добиться?
Обновить
**** 1, 2, 3 ** = Эти три метода должны работать. Я проверил и подтвердил каждый. Два других не делают и не должны. У них другая цель.*
Хорошо, я думаю, что теперь я знаю, почему это не работает. Текст, который я обрабатываю, копируется и вставляется из Excel 2010 в Notepad++, и там есть несколько дополнительных символов, которые отбрасывают эти команды. Есть несколько вкладок и символов CF или LF.
Notepad++ стал моим первым профессиональным инструментом в веб-разработке и создании сайтов.
И не потому что там есть множество инструментов для работы с исходным кодом, и не из-за обилия плагинов для Notepad++.
Всё проще — в те далёкие времена уроков по веб-дизайну было не так много, а Notepad++ был приведён в статейке по которой я упражнялся. Это было что-то вроде hello-world для HTML. ?
Ещё тогда меня удивил аскетичный интерфейс утилиты и обилие пунктов меню. И до сих пор Notepad++ это самый навороченный текстовый редактор, которым я ежедневно пользуюсь.
В Notepad++, среди прочего, большое внимание уделяется собственному языку регулярных выражений.
Зная как обозначить запрос специальными поисковыми операторами, в Notepad++ можно реализовывать довольно серьезные задачи и работать с большими массивами данных.
Регулярные выражения Notepad++
Регулярные выражения могут использоваться в Notepad++ для множества логических операция: сортировка строк, удаление дубликатов, поиск и замена как отдельных символов, так и целых логических конструкций. По сути горизонт возможностей такого функционала не ограничен и зависит только от вашей фантазии по его применению.
Я позволил себе отсортировать регулярные выражения для Notepad++ в порядке их надобности и популярности использования. ?
\n — Перенос Enter . Что особенно приятно, может использоваться не только для поиска, но и для замены. Например, благодаря этому регулярному выражению, и двум кликам, вы можете поменять построчный список на список через запятую, и наоборот.
\t — Табуляция. Означает то же, что и действие клавиши Tab . Очень полезно, если вы комбинируете работу в excel и notepad++. Знаки tab по умолчанию переносятся как колонки таблицы.
\n\r — Выражение для поиска пустых строк.
\s — Пробел. В большинстве случаем вы можете искать просто введя символ пробела в поле поиска Notepad++, однако в составе сложных регулярных выражений пригодится это обозначение. Например, конструкция ^\s*$ найдёт все строки с пробелом.
^ и $ — Символы начала и конца соответственно.
\d — Этим регулярным выражением в Notepad++ можно обозначить любую цифру. Учитывайте, что под цифрой подразумевается «единичный экземпляр», а не всё число. Например, применив эту комбинацию в тексте с числом 789, последовательно найдутся все три цифры (7, 8, 9) в этом числе.
.(точка) и .*(точка со звёздочкой) — Любой символ и любая последовательность оных соответственно.
\D — Также найдутся любые символы, но не цифры.
[a-z], [A-Z], [a-Z], 2 — На мой взгляд, всё и так понятно, но я поясню. Такие регулярные выражения в квадратных скобках означают последовательность букв или цифр, и регистр искомого выражения.
Примеры и применение регулярных выражений в Notepad++
Согласитесь, весь этот список на вид звучит довольно нудно и напоминает что-то среднее между высшей математикой и программированием. ? Мне стоит привести примеры использования регулярных выражений и символов Notepad++.
Удалить пустые строки в Notepad++
Удалить пустые строки с помощью текстового редактора Notepad++ просто — выше я уже писал регулярное выражение для этого — \n\r . Его необходимо ввести в окне поиска и замены. При этом поле Замены оставьте пустым. Все пустые строки удалятся из документа, их место займут данные располагающиеся ниже.
Либо, что конечно же проще, если ваше выражение больше никаких условий не требует, воспользуйтесь пунктом в меню. Edit => Line Operations => Remove empty lines . Там же есть и пункт для удаления пустых строк с пробелом: Containing Blank Characters .
Удалить всё после символа / перед символом в строке в Notepad++
Регулярное выражение удаление всех данных в строке до определенного символа, или их группы я часто использую, например, при сортировке маркетинговых баз с e-mail.
Для того чтобы в Notepad++ удалить всё в строке перед определенным символом, используйте комбинацию .+(искомая-часть). Давайте я разберу подробнее. Например, у нас есть txt файл с почтовыми адресами коллег, по одному адресу в столбик. Кроме того в этой же строке могут содержаться и ФИО человека через пробел, табирование, или через запятую.
И таких контактов с списке у нас 500. Для того чтобы отделить домены, нам понадобится 2 действия в Notepad++, удалить всё в строках до определенного символа, а затем удалить всё в строках после.
Первая регулярное выражение для нас будет .+(@), в поле замены оставляем пустым.
Удалить дубликаты строк в Notepad++
Удаление дубликатов строк в Notepad++ это вообще отдельная большая тема. Мало кто знает как сконфигурировать поисковой запрос в текстовом редакторе и удалить повторяющиеся строки исключительно через Notepad++, не прибегая к помощи плагинов и сторонних расширений.
Но я — знаю ?. Чтобы удалить построчное дублирование в Notepad, используйте эту фразу:
Важно, чтобы все галочки в поиске у вас были включены. И зациклить поиск, и применять регулярные выражения, тогда Notepad++ точно сработает как надо, и удалит из документа дубли строк.
Второй способ избавится от дублирования строк
Второй способ удалить дубликаты строк с помощью Notepad++ абсолютно не элегантен, но функционален при ежедневном использовании. Навигатор по репозиторию дополнений встроен прямо в ваш Notepad. Просто ставим плагин через меню Plugins => Plugin manager .
Нужный нам плагин называется TextFx Characters.
Не слишком сложно, правда? Устанавливаются плагины автоматически, нужно будет только перезагрузить утилиту. Жмёте установить и активировать.
Функционал плагина местами дублирует многие регулярные выражения в Notepad++, а по-моему мнению собственно на них и основан.
Настройка для удаления дубликатов строк находится в меню: Textfx => Tools => Sort Lines insensetive .
Не забудьте выделить данные в редакторе, перед тем как нажимать.
Notepad++: плагины и альтернативы.
Для начала про плагины. Как вы поняли, в Notepad++ система плагинов весьма интуитивна и встроена в редактор. Но, кроме того, существует и множество других дополнений от сторонних авторов — в этом одна из прелестей freeware софта. Пожалуй, я как-нибудь выложу их обзор, если вам будет интересна тема Notepad и эта статья придётся по вкусу.
Что касается альтернатив, Notepad++ любят за регулярные выражения, легкость, простоту и бесплатность. Такое сочетание вообще, пожалуй, единственное в этом кластере, потому лично я не вижу прямых конкурентов и альтернатив для Notepad.
Но если посмотреть на нишу шире, можно вспомнить про AkelPad (тоже текстовый редактор), Textmate, LeafPad, Sublime Text, Atom, Brackets…Так можно дойти и до моего любимого Adobe Dreamweaver. Однако, всё это по сути уже не то. Notepad++ неповторим, аскетичен, и по своему прекрасен, и очень в духе софта былых времён. ?
P.S. Если вам была полезна эта статья, оставьте коммент, и я буду знать что двигаюсь в правильном направлении. Или задавайте вопросы! welcome ⬇️⬇️⬇️
Сайт обходится мне в копеечку, и как видите - здесь нет рекламы.
Понравилась статья?
Переведите хотя бы 10 руб:-)
P.S. Если нажать на номер карты - он скопируется!
Фотограф, блогер, специалист по рекламе в интернете. В прошлом веб-дизайнер/разработчик. Веду своё шоу в VK Клипах, люблю рок, джаз, Стивена Кинга и Харуки Мураками.
Notepad++достаточно клевая программа для кодинга, и обработки текста. Данная запись является сборником часто используемых мною фишек при работе в данном редакторе.
Регуляторные выражения Notepad++
Важно! Поиск и замена производится в режиме поиска регулярных выражений:
Иногда бывает нужно удалить ссылку но оставить TITLE, для таких целей в начале удаляем (для удаления оставьте поле для замены пустым) начало тега :
За тем в обычном режиме удаляем закрывающий тег
Удалить весь HTML оставив только текст без тегов:
В ссылочном списке такого вида ТАЙТЛ удалить все html-теги, оставив только ссылки:
Основные операции поиска и замены
Перенести все каждый тег на новую строку (в расширенном режиме)
Наборы выражений Notepad++
Горячие клавиши Notepad++
Ctrl+G — Поиск строки в Notepad++
Удаление пустых строк (пустых абзацев) в Notepad++:
Многие пользователи сталкиваются с проблемой форматирования текста если была произведена вставка текса из Microsoft Word в WordPress. Последние версии WP поддерживают адекватную вставку текста с соблюдением форматирования, но при вставке почему-то появляются пустые строки (абзацы), для удаления которых мы опять обратимся к нашему любимому редактору.
Откройте документ содержащий пустые строки
Выделите все содержимое документа (для этого нажмите Ctrl+A)
Выберите пункт «Правка» -> «Операции со строками» -> «Удалить пустые строки»
Удаление пустых строк окончено:
Теперь осталось только вставить полученный результат в в текстовый редактор WordPress.
Перемещение выделенного участка текста внутри документа
Выделите нужную часть документа курсором мышки, зажмите «Ctrl+Shift» и перемещайте выделенный текст внутри документа нажимая клавиши «Вверх» и «Вниз».
How can I replace empty lines in Notepad++? I tried a find and replace with the empty lines in the find, and nothing in the replace, but it did not work; it probably needs regex.
22 Answers 22
There is now a built-in way to do this as of version 6.5.2
Edit -> Line Operations -> Remove Empty Lines or Remove Empty Lines (Containing Blank characters)
Unfortunately this doesn't consider your selection, it will delete all the empty lines in the file even if you have selected only some of them.
If this is a one-time operation, you can extract the selected lines to the new notepad++ tab and perform that operation there. Copy-paste procedure for 5seconds. Any other workaround that cannot be accomplished in that time is a waste in my opinion. But if you are doing that every day 100 times.
I was using this (even assigned my shortcut), but it's a lot slower than option above, so use smartly.
You need something like a regular expression.
You have to be in Extended mode
If you want all the lines to end up on a single line use \r\n . If you want to simply remove empty lines, use \n\r as @Link originally suggested.
Replace either expression with nothing.
See @BoltClock's comment below. Also, if your file is saved with Unix line endings, you can convert it to Windows line endings in Edit > EOL Conversion > Windows Format before doing the find and replace.
If you wish to remove lines with only spaces and tabs or nothing try using regex replace to match \r\n\W*\r\n and replace with \r\n
There is a plugin that adds a menu entitled TextFX . This menu, which houses a dizzying array of quick text editing options, gives a person the ability to make quick coding changes. In this menu, you can find selections such as Drop Quotes, Delete Blank Lines as well as Unwrap and Rewrap Text
Do the following:
Not sure as of when, but it would seem that this plugin is installed by default now. Slightly off-topic, but one of the other incredibly useful features, under TextFX > TextFX Tools , is line sorting, optionally removing duplicates. Very handy way of doing a Unix sort -u on a Windows box without cygwin or unxutils or similar.
Here's a link to the TextFx Plugin. I found it very useful. Use: Settings > Import > plugin. and find the dll file to install it. It becomes a menu item by Plugins
- notepad++
- Ctrl-H
- Select Regular Expression
- Enter ^[ \t]*$\r?\n into find what, leave replace empty. This will match all lines starting with white space and ending with carriage return (in this case a windows crlf)
- Click the Find Next button to see for yourself how it matches only empty lines.
I had to use this method instead of some of the other methods to get it to easily work in a macro. Thank you.
even shorter and also lesser replacements needed because of multiple empty lines will be replaced at once: ^\s*$\r?\n
why does ^\s*$ work for multiple lines? shouldn't ^$ "restrict" it to one line? (@njank or anyone else)
- Press ctrl + h (Shortcut for replace).
- In the Find what zone, type ^\R ( for exact empty lines) or ^\h*\R ( for empty lines with blanks, only).
- Leave the Replace with zone empty.
- Check the Wrap around option.
- Select the Regular expression search mode.
- Click on the Replace All button.
@Albin, different regex: SleepyBoBos: ^[ \t]*$\r?\n This will match all lines starting with white space and ending with carriage return (in this case a windows crlf) My version: ^\R ( for exact empty lines) or ^\h*\R ( for empty lines with blanks, only).
@Alex.K. that I understood, since it's already mentioned in the answers themselves. Sorry, should have been more specific: is there anything else in the white space but space and tab in \h ? Also \r?\n already includes Win and Unix line breaks, whats the advantage of using \R ? Are there "regular" use cases where you need it?
You can follow the technique as shown in the following screenshot:
NOTE: for *nix files just find by \n
This worked for me:
- Press ctrl + h (Shortcut for replace)
- Write one of the following regex in find what box. [\n\r]+$ or ^[\n\r]+
- Leave Replace with box blank
- In Search Mode , select Regex
- Click on Replace All
In notepad++ press CTRL+H , in search mode click on the "Extended (\n, \r, \t . )" radio button then type in the "Find what" box: \r\n (short for CR LF) and leave the "Replace with" box empty..
Finally hit replace all
This assumes the line endings are Windows (CRLF) though, if your file is saved with Unix line endings search only for \n .
@Brad: I wrote in between the () "short for CR LF", didn't want codetrek to think \n is CR, hence the edit.
Well I'm not sure about the regex or your situation..
How about CTRL+A, Select the TextFX menu -> TextFX Edit -> Delete Blank Lines and viola all blank line gone.
A side note - if the line is blank i.e. does not contain spaces, this will work
1) Ctrl + H ( Or Search 🠆 Replace.. ) to open Replace window.
2) Select 'Search Mode' 'Regular expression'
3) In 'Find What' type ^(\s*)(.*)(\s*)$ & in 'Replace With' type \2
- ^ - Matches start of line character
- (\s*) - Matches empty space characters
- (.*) - Matches any characters
- (\s*) - Matches empty spaces characters
- $ - Matches end of line character
- \2 - Denotes the matching contend of the 2nd bracket
Please note: This does not only replace empty lines, it replaces e.g. indents (tab and space) as well
You can search for the following regex: ^(?:[\t ]*(?:\r?\n|\r))+ and replace it with empty field
find - \r\r replace with - \r.
This works for me, removing extra line, in the sense of finding double \r replace with single \r. Thanks!!
This worked well, however I found that I needed to run it several times in my document before all instances of \r\r were gone. I'm unsure why.
Remove white space using regular expression as follows:
where [\t ] matches either tab or space. '+' matches one or more occurrences, and '$' marks the end of line.
Then use notepad++/textFX to remove single or extra empty lines. Be sure that these blank lines are not significant in the given context.
- Edit >> Blank Operations >> Trim Leading and Trailing Spaces (to remove black tabs and spaces in empty lines)
- Ctrl + H to get replace window and replace pattern: ^\r\n with nothing (select regular expression)
Note: step 1 will remove your code intendation done via tabs and blank spaces
Sometimes \n\r etc not work, here to figure it out, what your actually regular expression should be.
Advantage of this trick: If you want to replace in multiple file at once, you must need this method. Above will not work.
CTRL+A, Select the TextFX menu -> TextFX Edit -> Delete Blank Lines as suggested above works.
But if lines contains some space, then move the cursor to that line and do a CTRL + H. The "Find what:" sec will show the blank space and in the "Replace with" section, leave it blank. Now all the spaces are removed and now try CTRL+A, Select the TextFX menu -> TextFX Edit -> Delete Blank Lines
/n/r assumes a specific type of line break. To target any blank line you could also use:
This says - any line that begins and then ends with nothing between. This is more of a catch-all. Replace with the same empty string.
I did not see the combined one as answer, so search for ^\s+$ and replace by
This pattern is tested in Notepad++ v8.1.1
It replaces all spaces/tabs/blank lines before and after each row of text.
Как заменить пустые строки в Notepad ++? Я попробовал найти и заменить пустыми строками в поиске, и ничего не заменил, но это не сработало; он, вероятно, нуждается в регулярном выражении.
ОТВЕТЫ
Ответ 1
Вам нужно что-то вроде регулярного выражения.
Вы должны быть в Extended режиме
Если вы хотите, чтобы все строки заканчивались на одной строке, используйте \r\n . Если вы хотите просто удалить пустые строки, используйте \n\r как изначально предлагалось @Link.
Замените любое выражение ничем.
Ответ 2
Теперь есть встроенный способ сделать это с версии 6.5.2
Edit -> Line Operations -> Remove Empty Lines или Remove Empty Lines (Containing Blank characters)
Ответ 3
Существует плагин, который добавляет меню под названием TextFX . Это меню, в котором находится головокружительное множество вариантов быстрого редактирования текста, дает человеку возможность быстро менять кодировку. В этом меню вы можете найти такие варианты, как Drop Quotes, Delete Blank Lines, а также Unwrap и Rewrap Text
Сделайте следующее:
Ответ 4
Ответ 5
Это сработало для меня:
- Нажмите ctrl + h (ярлык для замены)
- Введите одно из следующих регулярных выражений в поле find what . [\n\r]+$ или ^[\n\r]+
- Оставьте Replace with пустое поле
- В Search Mode выберите Regex
- Нажмите Replace All
Ответ 6
- Нажмите Ctrl + H (ярлык для замены).
- В поле Найти что введите ^\R (для точных пустых строк) или ^\h*\R (только для пустых строк с пробелами).
- Оставьте Заменить спустой зоной.
- Проверьте опцию Обтекание.
- Выберите режим поиска регулярных выражений.
- Нажмите на кнопку Заменить все.
Ответ 7
Вы можете следовать технике, как показано на следующем снимке экрана:
- Найти что: ^\r\n
- Заменить на: keep this empty
- Режим поиска: Regular expression
- Обернуть вокруг: выбрано
ПРИМЕЧАНИЕ: для файлов * nix просто найдите \n
Ответ 8
В блокноте ++ нажмите CTRL + H, в режиме поиска нажмите на кнопку "Extended (\n,\r,\t. )", затем введите поле "Найти что":\r\n (короткий для CR LF) и оставьте поле "Заменить на" пустым.
Наконец, удалите все
Ответ 9
Ну, я не уверен в регулярном выражении или вашей ситуации.
Как насчет CTRL + A, выберите меню TextFX → Редактирование TextFX → Удалить пустые строки и альта, все пустые строки исчезли.
Сторона примечания - если строка пуста, то есть не содержит пробелов, это будет работать
Ответ 10
найти -\r\r замените на -\r.
Ответ 11
Вы можете найти следующее регулярное выражение: ^(?:[\t ]*(?:\r?\n|\r))+ и заменить его пустым полем
Ответ 12
Удалите пустое пространство с помощью регулярного выражения следующим образом:
где [\ t] соответствует любой вкладке или пробелу. "+" соответствует одному или нескольким вхождениям, а "$" обозначает конец строки.
Затем используйте блокнот ++/textFX для удаления одиночных или лишних пустых строк. Убедитесь, что эти пустые строки не имеют значения в данном контексте.
Ответ 13
Иногда\n\r и т.д. не работает, здесь, чтобы понять, каково ваше фактическое регулярное выражение.
Преимущество этого трюка: если вы хотите сразу заменить его в несколько файлов, вам понадобится этот метод. Выше не будет работать.
Ответ 14
- Изменить → Пустые операции → Обрезать ведущие и трейлинг-пространства (чтобы удалить черные вкладки и пробелы в пустых строках)
- Ctrl + H , чтобы получить окно замены и заменить шаблон: ^\r\n ничем (выберите регулярное выражение)
Примечание: шаг 1 удалит вашу реализацию кода, выполненную с помощью вкладок и пробелов
Ответ 15
CTRL + A, выберите меню TextFX → TextFX Edit → Delete Blank Lines, как было предложено выше.
Но если строки содержат некоторое пространство, то переместите курсор на эту строку и сделайте CTRL + H. В поле "Найти что:" будет показано пустое место и в разделе "Заменить на" оставьте его пустым. Теперь все пробелы удалены и теперь попробуйте CTRL + A, выберите меню TextFX → TextFX Edit → Delete Blank Lines
Ответ 16
/n/r принимает определенный тип разрыва строки. Чтобы настроить таргетинг на любую пустую строку, вы также можете использовать:
Это говорит - любая строка, которая начинается, а затем не заканчивается между ними. Это скорее всего. Замените ту же пустую строку.
Ответ 17
Я не видел комбинированный ответ, поэтому поиск ^\s + $и замена на
Ответ 18
Легкая альтернатива для удаления пробела из пустых строк:
Это приведет к удалению всех конечных пробелов, включая пробелы в пустых строках. Удостоверьтесь, что длина пробелов не значительна.
Ответ 19
Несколько из приведенных выше выражений и расширенных выражений не работали для меня, но регулярное выражение "$\n $".
Ответ 20
Это очень просто
Ответ 21
эта работа для меня:
Ответ 22
1) Ctrl + H (или Search 🠆 Replace.. ), чтобы открыть окно Replace.
2) Выберите 'Search Mode' "Регулярное выражение"
3) В поле "Найти что" введите ^(\s*)(.*)(\s*)$ & в поле "Заменить на " \2
- ^ - соответствует началу символа строки
- (\s*) - сопоставляет символы пробела
- (.*) - соответствует любым символам
- (\s*) - Соответствует символам пробелов
- $ - Соответствует символу конца строки
- \2 - Обозначает совпадающий контекст 2-й скобки.
Читайте также: