Блокнот удалить строки, содержащие
Обновлено: 24.11.2024
Существует множество способов удаления пустых строк из текста, файлов и документов в зависимости от используемого компьютера и программного обеспечения. Ниже приведены все различные способы удаления пустых строк.
Текстовый инструмент Computer Hope
Используя наш бесплатный онлайн-инструмент для работы с текстом, вы можете удалить любую пустую строку из любого отправленного текста. Помимо удаления пустых строк, вы также можете заменять пустые строки другим текстом и выполнять другие манипуляции с текстом с любого компьютера или устройства.
См. раздел Удаление пустых строк с помощью регулярных выражений ниже, чтобы узнать, как этот и другие инструменты используют регулярные выражения для замены пустых строк.
Блокнот++
Notepad++ — фантастический бесплатный текстовый редактор для компьютеров под управлением Microsoft Windows, который поддерживает поиск и замену регулярных выражений для замены пустых строк в одном или нескольких файлах. Выполните следующие действия, чтобы заменить пустые строки в файле с помощью Notepad++.
-
если он еще не установлен на компьютере.
- Откройте Notepad++ и файл, который вы хотите отредактировать.
- В меню "Файл" нажмите "Поиск", а затем "Заменить".
- В поле «Заменить» в разделе «Найти» введите ^\r\n (пять символов: знак вставки, обратная косая черта «r» и обратная косая черта «n»). Оставьте поле «Заменить на» пустым, если вы не хотите заменять пустую строку другим текстом.
- Убедитесь, что в разделе "Режим поиска" выбрано "Регулярное выражение".
- Нажмите кнопку "Заменить все", чтобы заменить все пустые строки.
Выше регулярное выражение Notepad++ ищет новые строки (^) с возвратом каретки (\r) и новой строкой (\n). В некоторых файлах может не быть возврата каретки и только новые строки, что означает, что вы должны использовать (^\n) в качестве текста поиска. Дополнительная информация и примеры регулярных выражений находятся на нашей странице регулярных выражений.
Если замена не работает для вашего файла, просмотрите метки форматирования файлов, щелкнув значок со стрелкой/абзацем на панели инструментов. После выбора возврат каретки — CR, а новые строки — LF.
Текстовая панель
TextPad — отличный текстовый редактор для замены пустых строк. Выполните следующие действия, чтобы заменить пустые строки в открытом файле TextPad.
- Откройте TextPad и файл, который вы хотите отредактировать.
- Нажмите "Поиск", а затем "Заменить".
- В окне "Заменить" в разделе "Найти" введите ^\n (курсор, обратная косая черта "n") и оставьте поле "Заменить на" пустым, если вы не хотите заменить пустую строку другим текстом.
- Установите флажок "Регулярное выражение".
- Нажмите кнопку "Заменить все", чтобы заменить все пустые строки.
Выше поисковый текст (^\n) представляет собой регулярное выражение, которое сообщает TextPad искать новую строку (\n) в начале строки (^). Дополнительная информация и примеры регулярных выражений находятся на нашей странице регулярных выражений.
Майкрософт Ворд
В Microsoft Word пробелы между строками чаще всего представляют собой пробелы между абзацами, а не строками текста. Чтобы удалить лишние пробелы между абзацами, выполните следующие действия.
- Откройте Microsoft Word и документ, который вы хотите отредактировать.
- На вкладке "Главная" нажмите "Заменить" или нажмите сочетание клавиш Ctrl + H .
- В окне "Найти и заменить" в разделе "Найти" введите ^p^p, а в разделе "Заменить на" введите ^p (только один раз).
- Нажмите кнопку "Заменить все".
Выполнение описанных выше действий заменяет два знака абзаца рядом с каждым и создает дополнительную пустую строку между абзацами.
Если между одним или несколькими абзацами имеется несколько интервалов, нажатие кнопки «Заменить все» более одного раза продолжает заменять лишние пробелы. Если имеется много лишних интервалов, вам может потребоваться нажать кнопку несколько раз, чтобы удалить все лишние интервалы. Кроме того, вы также можете добавить более двух ^p в текст поиска.
Блокнот Microsoft и WordPad
Microsoft Notepad и WordPad — это простые текстовые редакторы, в которых нет параметров замены регулярных выражений или специальных символов. Таким образом, ни в одной из этих программ невозможно заменить пустые строки. Вы можете скопировать текст из Блокнота или WordPad и вставить его в наш бесплатный онлайн-инструмент «Текст», чтобы удалить пустые строки, или воспользоваться параметрами Notepad++.
В текстовом редакторе vim вы можете удалить все пустые строки с помощью глобальной команды (g):
Эта команда говорит: "Для всего файла (g) найдите строки, содержащие только начало (^) и конец ($) строки, и удалите (d) эти строки".
Эта команда не удалит строки, содержащие пробелы. Чтобы также удалить строки, содержащие только пробелы, вы можете использовать \W*, что означает «ноль или более пробелов».
Эта команда удаляет любую строку, содержащую только ноль или более пробельных символов.Строки, содержащие любой другой тип символов, не удаляются.
^, $, * и \W — это специальные метасимволы, используемые в регулярных выражениях. Дополнительные сведения о регулярных выражениях см. в следующем разделе.
Удаление пустых строк с помощью регулярных выражений
Изучение основ регулярных выражений поможет вам заменить пустые строки и почти любой другой тип текста или форматирования, если используемая вами программа поддерживает регулярные выражения. Большинство продвинутых текстовых редакторов, HTML-редакторов и текстовых редакторов поддерживают возможность поиска и замены текста с помощью регулярных выражений. Если вы понимаете основы, упомянутые ниже, вы можете заменить пустые строки в любой программе.
Все программы, поддерживающие регулярные выражения, имеют флажок или выбор для регулярных выражений в опции поиска и замены программы. Некоторые программы могут скрывать эту опцию в разделе «Дополнительно».
Для замены пустых строк сначала ознакомьтесь со знаком вставки (^), который является регулярным выражением и способом обозначения начала строки. Например, регулярное выражение ^a будет означать "a" в начале строки.
Далее выучите как минимум две escape-последовательности: escape-последовательность \n, которая представляет собой новую строку, и \r, которая представляет собой возврат каретки. В зависимости от вашего редактора вам могут понадобиться обе эти управляющие последовательности или только одна.
Наконец, поняв эти три элемента регулярных выражений, вы сможете объединить их. Например, поиск и замена для ^\n ищет строки, начинающиеся с новой строки. Поскольку в пустой строке нет текста, а есть только символ возврата, это регулярное выражение заменит все пустые строки.
Если опция регулярного выражения не выбрана и вы выполняете поиск по регулярному выражению, совпадения не возвращаются, так как выполняется только попытка найти текст. Например, если вы ищете "^" без включения регулярных выражений, программа ищет фактический символ ^, а не функцию символа ^.
Не все программы, поддерживающие регулярные выражения, используют одинаковый синтаксис для регулярных выражений. Другими словами, программа может использовать другой символ для представления начала строки или другой метод ввода управляющей последовательности. Если описанные выше действия не помогли, вам может потребоваться обратиться к документации по продукту, чтобы узнать, как они используют регулярные выражения.
Для этого есть простой способ. Вам нужно выполнить 2 шага.
Перейдите в меню "Поиск" > "Найти". > Выберите вкладку «Отметить». Активируйте регулярные выражения. Найдите ^
(^ для начала строки). Не забудьте отметить "Строки закладок" и нажать "Отметить все"
==> Все строки, которые вы хотите сохранить, отмечены закладками
Перейдите в Меню "Поиск - Закладка - Удалить непомеченные строки"
==> Все строки, не отмеченные в закладках, удаляются.
+1. Прикольно, не знал об этом. Есть также варианты «Удалить неотмеченные строки» или «Вырезать/скопировать отмеченные строки», которые могут сэкономить время.
Поначалу у меня были проблемы, потому что в моей версии Notepad++ (6.2.3) не было пункта меню "Отметить вкладку". Вместо этого вам нужно перейти в «Поиск» -> «Найти». -> нажать на вкладку «Отметить». И вам больше не нужно инвертировать закладки. Notepad ++ теперь имеет «Удалить неотмеченные строки». Но ваш совет мне очень помог! Спасибо!
Вы можете пропустить шаг 2, потому что (по крайней мере, начиная с версии 6.4.5) можно выбрать «Удалить непомеченные строки».
Я так долго пользуюсь Notepad++ и никогда раньше не знал, что такое «Закладки». Удивительно, насколько мощным является этот инструмент и как мало я о нем знаю.
Вы гений. это еще один шокирующий пример того, как по-настоящему узнать инструмент, которым вы пользуетесь.
На самом деле это можно сделать в два этапа, начиная с версии 6.3. Я думаю, что это можно сделать раньше, так как у меня была версия 5.9, когда я впервые попробовал ее.
Использование сообщения стемы в качестве основы для этого ответа. Теперь на один шаг меньше. Отметьте линии и удалите неотмеченные линии. Сделанный. Далее следуют подробные инструкции.
Меню поиска "Найти". В диалоговом окне «Найти» щелкните вкладку «Отметить». Активируйте регулярные выражения. Найдите ^
(^ для начала строки). Не забудьте отметить "Строки закладок" и нажать "Отметить все"
==> Все строки, которые вы хотите сохранить, теперь имеют закладки
Меню поиска -> Закладка -> Удалить непомеченные строки.
==> Все строки без закладок удаляются.
Двухшаговый вариант
замените test запрошенным текстом
Одношаговый вариант
).*\r\n для замены совпадений пустой строкой. Обобщенная версия будет ^(. *?test).*\r\n . Это не удалит пустую строку в конце файла. Все остальные строки удаляются, включая несколько последовательных пустых строк.
Объяснение:
(?!) — отрицательный поиск вверх. ^.*test.*$ выбирает всю строку, содержащую запрошенный текст.
[\r\n] соответствует любому символу \r\n, который встречается более одного раза, когда это строка Windows New.если у вас Linux или другая операционная система, вам может понадобиться возиться с этим. второй — заменить его одной строкой возврата.
Примечание для пользователей: иногда регулярное выражение с концом строки (EOL) "не работает". \r\n EOL, упомянутый в посте, — это то, что использует Windows, и поэтому может быть, а может и не быть тем, что вы ищете. Часто в средах Linux это просто \n , а в средах Mac просто \r , поэтому, если вы извлечете файл из любого из них, это не будет EOL в стиле Windows. Однако, если вы загружаете через FileZilla и триггеры режима ASCII, они могут изменить их обратно на Windows EOL (например, \n на \r\n ). Поэтому, если регулярное выражение не работает, проверьте стиль EOL, перейдя в «Просмотр> Показать символы> Показать конец строки». CR = \ г . ЛФ = \n .
Мне кажется, что проще всего просто использовать функцию "Найти все в текущем документе", а затем либо скопировать результаты в новый файл, либо выбрать все и заменить в текущем.
Это найдет все строки, содержащие ваш текст, и перечислит их внизу. Просто щелкните правой кнопкой мыши результат поиска и скопируйте/вставьте.
Это не сработает для строк, которые настолько широки, что Notepad++ обрезает их в окне результатов поиска.
Перейдите в меню Поиск -> Найти. -> Активировать регулярные выражения. Найдите "^Путь" (^ означает начало строки).
Нажмите кнопку "Найти все в текущем документе".
Появится окно "Результат поиска" со всеми линиями шаблона. Выберите скопировать/вставить их на новую вкладку в Notepad++.
На этой новой вкладке: меню Поиск -> Заменить. -> Активировать регулярные выражения.
В поле «Найти что:» используйте шаблон: «Строка \d+:». Оставьте поле «Заменить на:» пустым.
Нажмите кнопку "Заменить все".
Лучшее решение с заменой регулярного выражения:
И заменить ничем
Добро пожаловать в суперпользователя! Хотите объяснить это тем, кто может не знать, что делает каждый бит регулярного выражения? :)
При условии, что вы действительно хотите соответствовать
а не путь к файловой системе, вы можете попробовать это из командной строки, используя Perl:
Он работал с Strawberry Perl в Windows, поэтому внесите соответствующие изменения, если результаты не соответствуют вашим ожиданиям.
Это неуклюже, но скопируйте все это в Excel, а затем используйте =IF(LEFT(A1,6),A1,"") и скопируйте эту формулу до конца. Затем скопируйте его обратно в Notepad++. Это не идеально, но довольно просто (если у вас есть Excel). Предупреждение. Это не будет работать со строками с отступом (Excel сдвинет столбцы и т. д.).
Если есть несколько способов решить эту задачу напрямую, зачем вам деструктивно копировать в другое приложение, обрабатывать там и передавать обратно?
Нет простого способа делать то, что вы хотите, с помощью Notepad++. Вам нужно будет либо загрузить программу на свой компьютер, либо написать что-то в VB (я предполагаю, что вы работаете в Windows).
Удалить все строки, не содержащие :
Распечатать все строки, содержащиеся в новом файле:
Я предлагаю вам использовать печать строк, которые вы хотите в новый файл. Причина этого в том, что вы, вероятно, не получите оператор регулярного выражения для
это что-то вроде пути *nix ( /var/www ), тогда вам нужно экранировать символ /, чтобы ваше регулярное выражение работало.
Пример: sed -n '/^\/var\/www/p' file > newfile
Это распечатает все строки, начинающиеся с /var/www . Если бы я подал, чтобы экранировать символ /, то команда выдала бы ошибку. Вы можете экранировать специальный символ (например, / ) с помощью символа обратной косой черты \ .
Компьютер должен облегчить нам жизнь. Одним из простых примеров является удаление строк из текстового файла, который не содержит определенного ключевого слова. Эта задача несложная, но очень трудоемкая и утомительная. Недавно я потратил некоторое время на составление списка веб-сайтов, которые скопировали и опубликовали статьи, взятые из этого блога, на свой веб-сайт. Хотя Google неплохо справляется с определением первоначального издателя, это все же робот, основанный на куче постоянно меняющихся алгоритмов, которые могут ошибаться и уже совершали ошибки. Поиск веб-сайтов, которые скопировали сообщения отсюда, занимает очень много времени, поэтому я использовал Copyscape Premium для автоматического выполнения пакетного сканирования всех 2000 статей на этом веб-сайте, чтобы отследить плагиат контента из этого блога.
Copyscape Premium просканировал все 2000 сообщений всего за 10 часов, и я смог экспортировать результаты в файл CSV для дальнейшего изучения. В списке более 20 000 URL-адресов, и я хочу классифицировать веб-сайты на основе доменных имен. Не все веб-сайты из списка являются подражателями, но большинство веб-сайтов, размещенных на бесплатных хостингах, таких как blogspot/blogger/wordpress, являются либо парсерами, либо копипастерами. Как только URL-адреса будут классифицированы, я могу сосредоточиться на подаче жалобы DMCA в Blogger, а затем в WordPress вместо того, чтобы прыгать туда-сюда.
<р>4. Закройте окно Метка.
5. Перейдите в строку меню "Поиск" > "Закладка" > и выберите "Удалить непомеченные строки".
Если текстовый файл, который вы редактируете, очень большой, процесс может занять некоторое время. Кроме того, вы также можете выбрать «Удалить строки с закладками» из «Поиск»> «Закладка», если вы пытаетесь удалить строки, содержащие указанные вами слова. Посмотрите встроенное видео ниже, если у вас возникли проблемы с выполнением пошаговых инструкций по удалению строк без ключевых слов с помощью Notepad++.
Эти параметры работают следующим образом:
Удалить все пустые строки
Это удалит все строки в файле, которые не содержат символов или пробелов. Если выделен текст, операция ограничивается только выделенным текстом.
Удалить все пустые строки и строки, содержащие только пробелы
Это удалит все строки в файле, которые не содержат символов, отличных от пробелов. Это означает, что строки, не содержащие буквально ничего, удаляются так же, как строки, содержащие только пробелы и/или знаки табуляции. Опять же, если выделен текст, эта операция ограничивается только выделенным текстом.
Но у меня нет этой версии (или я просто люблю все усложнять). Как мне удалить все пустые строки?
Что найти: "^(?:[\t ]*(?:\r?\n|\r))+" (без кавычек)
Заменить на: "" (без кавычек - то есть ничего).
Примечание. Нажмите Заменить все один раз, чтобы заменить все (даже последовательные) пустые строки в текстовом файле.
Я использую еще более старую версию, которая не поддерживает регулярные выражения Perl. у вас есть решение для меня?
Мы упоминали, что вам следует действительно подумать об обновлении? В любом случае, если вы используете предыдущую версию UltraEdit, которая не поддерживает регулярные выражения Perl, для удаления пустых строк вы можете использовать замену регулярного выражения следующим образом. Вам нужно будет проверить параметр «Регулярные выражения» в диалоговом окне «Заменить».
Найти что: "%[^t ]++[^r^n]+" (без кавычек)
Заменить на: "" (без кавычек - т.е. ничего).
Возможно, вам придется нажать Заменить все несколько раз, чтобы убедиться, что все пустые строки удалены. Из-за того, как работает старый синтаксис регулярных выражений, замена может не заменять все последовательные пустые строки в текстовом файле.
Читайте также: