Как найти повторяющиеся значения в notepad

Notepad++ стал моим первым профессиональным инструментом в веб-разработке и создании сайтов.

И не потому что там есть множество инструментов для работы с исходным кодом, и не из-за обилия плагинов для Notepad++.
Всё проще —  в те далёкие времена уроков по веб-дизайну было не так много, а Notepad++ был приведён в статейке по которой я упражнялся. Это было что-то вроде hello-world для HTML. ?
Ещё тогда меня удивил аскетичный интерфейс утилиты и обилие пунктов меню. И до сих пор Notepad++ это самый навороченный текстовый редактор, которым я ежедневно пользуюсь.

Меню регулярных выражений в notepad

В Notepad++, среди прочего, большое внимание уделяется собственному языку регулярных выражений.
Зная как обозначить запрос специальными поисковыми операторами, в Notepad++ можно реализовывать довольно серьезные задачи и работать с большими массивами данных.

Регулярные выражения могут использоваться в Notepad++ для множества логических операция: сортировка строк, удаление дубликатов, поиск и замена как отдельных символов, так и целых логических конструкций. По сути горизонт возможностей такого функционала не ограничен и зависит только от вашей фантазии по его применению.
Я позволил себе отсортировать регулярные выражения для Notepad++ в порядке их надобности и популярности использования. ?

n — Перенос Enter. Что особенно приятно, может использоваться не только для поиска, но и для замены. Например, благодаря этому регулярному выражению, и двум кликам, вы можете поменять построчный список на список через запятую, и наоборот.

t — Табуляция. Означает то же, что и действие клавиши Tab. Очень полезно, если вы комбинируете работу в excel и notepad++. Знаки tab по умолчанию переносятся как колонки таблицы.

nr — Выражение для поиска пустых строк.

s — Пробел. В большинстве случаем вы можете искать просто введя символ пробела в поле поиска Notepad++, однако в составе сложных регулярных выражений пригодится это обозначение. Например, конструкция ^s*$ найдёт все строки с пробелом.

^ и $ — Символы начала и конца соответственно.

d — Этим регулярным выражением в Notepad++ можно обозначить любую цифру. Учитывайте, что под цифрой подразумевается «единичный экземпляр», а не всё число. Например, применив эту комбинацию в тексте с числом 789, последовательно найдутся все три цифры (7, 8, 9) в этом числе.

.(точка) и .*(точка со звёздочкой)  — Любой символ и любая последовательность оных соответственно.

D — Также найдутся любые символы, но не цифры.

[a-z], [A-Z], [a-Z], [0-9] — На мой взгляд, всё и так понятно, но я поясню. Такие регулярные выражения в квадратных скобках означают последовательность букв или цифр, и регистр искомого выражения.

Примеры и применение регулярных выражений в Notepad++

Согласитесь, весь этот список на вид звучит довольно нудно и напоминает что-то среднее между высшей математикой и программированием. ? Мне стоит привести примеры использования регулярных выражений и символов Notepad++.

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

Удалить пустые строки с помощью текстового редактора Notepad++ просто — выше я уже писал регулярное выражение для этого — nr . Его необходимо ввести в окне поиска и замены. При этом поле Замены оставьте пустым. Все пустые строки удалятся из документа, их место займут данные располагающиеся ниже.

Удалить пустые строки регулярным выражением в Notepad++

Либо, что конечно же проще, если ваше выражение больше никаких условий не требует, воспользуйтесь пунктом в меню. Edit => Line Operations => Remove empty lines. Там же есть и пункт для удаления пустых строк с пробелом: Containing Blank Characters.

Удалить всё после символа / перед символом в строке в Notepad++

Регулярное выражение удаление всех данных в строке до определенного символа, или их группы я часто использую, например, при сортировке маркетинговых баз с e-mail.

Для того чтобы в Notepad++ удалить всё в строке перед определенным символом, используйте комбинацию .+(искомая-часть). Давайте я разберу подробнее. Например, у нас есть txt файл с почтовыми адресами коллег, по одному адресу в столбик. Кроме того в этой же строке могут содержаться и ФИО человека через пробел, табирование, или через запятую.

Выглядит это вот так:
nastya@mail.ru Анастасия Евгеньевна Петрова
pasha@yandex.ru Павел Иванов Юрлица
vasya@notepad-plus-plus.ru Василий Павлович Работа

И таких контактов с списке у нас 500. Для того чтобы отделить домены, нам понадобится 2 действия в Notepad++, удалить всё в строках до определенного символа, а затем удалить всё в строках после.

Первая регулярное выражение для нас будет .+(@), в поле замены оставляем пустым.

Результат
mail.ru Анастасия Евгеньевна Петрова
yandex.ru Павел Иванов Юрлица
notepad-plus-plus.ru Василий Павлович Работа

Второе регулярное выражение Notepad для удаления после символа, можно сконфигурировать по доменному суффиксу, запрос будет (.ru.+)$.

mail
yandex
notepad-plus-plus

Удалить дубликаты строк в Notepad++

Удаление дубликатов строк в Notepad++ это вообще отдельная большая тема. Мало кто знает как сконфигурировать поисковой запрос в текстовом редакторе и удалить повторяющиеся строки исключительно через Notepad++, не прибегая к помощи плагинов и сторонних расширений.

Но я — знаю ?. Чтобы удалить построчное дублирование в Notepad, используйте эту фразу:

^(.*?)$s+?^(?=.*^1$)

Удалить дубликаты строк в Notepad++: регулярное выражение

Важно, чтобы все галочки в поиске у вас были включены. И зациклить поиск, и применять регулярные выражения, тогда Notepad++ точно сработает как надо, и удалит из документа дубли строк.

Второй способ избавится от дублирования строк

Второй способ удалить дубликаты строк с помощью Notepad++ абсолютно не элегантен, но функционален при ежедневном использовании. Навигатор по репозиторию дополнений встроен прямо в ваш Notepad. Просто ставим плагин через меню Plugins => Plugin manager.
Нужный нам плагин называется TextFx Characters.
Не слишком сложно, правда? Устанавливаются плагины автоматически, нужно будет только перезагрузить утилиту. Жмёте установить и активировать.

Функционал плагина местами дублирует многие регулярные выражения в Notepad++, а по-моему мнению собственно на них и основан.

Настройка для удаления дубликатов строк находится в меню: Textfx => Tools => Sort Lines insensetive.

Не забудьте выделить данные в редакторе, перед тем как нажимать.

Notepad++: плагины и альтернативы.

Для начала про плагины. Как вы поняли, в Notepad++ система плагинов весьма интуитивна и встроена в редактор. Но, кроме того, существует и множество других дополнений от сторонних авторов — в этом одна из прелестей freeware софта. Пожалуй, я как-нибудь выложу их обзор, если вам будет интересна тема Notepad и эта статья придётся по вкусу.

Что касается альтернатив, Notepad++ любят за регулярные выражения, легкость, простоту и бесплатность. Такое сочетание вообще, пожалуй, единственное в этом кластере, потому лично я не вижу прямых конкурентов и альтернатив для Notepad.

Sublime редактор, который похож на Notepad

Но если посмотреть на нишу шире, можно вспомнить про AkelPad (тоже текстовый редактор), Textmate, LeafPad, Sublime Text, Atom, Brackets…Так можно дойти и до моего любимого Adobe Dreamweaver. Однако, всё это по сути уже не то. Notepad++ неповторим, аскетичен, и по своему прекрасен, и очень в духе софта былых времён. ?

P.S. Если вам была полезна эта статья, оставьте коммент, и я буду знать что двигаюсь в правильном направлении. Или задавайте вопросы! welcome ⬇️⬇️⬇️

Последнее обновление Сен 22, 2021

Как удалить дубликаты строк в Notepad++

При помощи плагина TextFX

Вам понадобится плагин TextFX. Раньше он был включен в более старые версии Notepad ++, но если у вас есть более новая версия, вы можете добавить плагин из меню, перейдя в Plugins → Plugin Manager → Show Plugin Manager → Available tab → TextFX → Install. В некоторых случаях его также можно найти введя TextFX, но это одно и то же.

Как удалить дубликаты строк в Notepad++

Теперь необходимые флажки и кнопки появятся в меню: TextFX → Инструменты TextFX.

Убедитесь, что установлен флажок «sort lines case sensitive». Затем выберите блок текста (Ctrl + A, чтобы выделить весь документ). Наконец, нажмите sort lines case sensitive (Сортировать строки с учетом регистра) или sort lines case insensitive (Сортировать строки без учета регистра).

При помощи поиска и замены по регулярным выражениям

Выполните поиск с заменой для поиска

^(.*?)$s+?^(?=.*^<span class="hljs-number">1</span>$)

Это оставляет из всех повторяющихся строк последнее вхождение в файле.

Для этого не требуется сортировка, и повторяющиеся строки могут находиться в любом месте файла!
Вам нужно проверить параметры «Регулярное выражение» и обязательно удалите отметку с опции поиска “и новые строки”.
Вот подробный вид окна поиска для удаления дубликатов строк в Notepad++:

Как удалить дубликаты строк в Notepad++

Навигация


⇒ Общая ⇐

CISCO

Voice(AsteriskCisco)

Microsoft

Powershell

Python

SQLT-SQL

FreeBSD and Nix

WEB Разработка

ORACLE SQL JAVA

Мото


В notepad++ довольно просто найти и удалить дубли строк

Для этого используйте шаблон:


Комментарии пользователей

Эту новость ещё не комментировалиНаписать комментарий

Анонимам нельзя оставоять комментарии, зарегистрируйтесь!

у вас есть несколько вариантов…

в любом случае перед началом:

  • откройте диалоговое окно” найти “(Ctrl + f) или” заменить ” (если вы знаете, что вы хотите сделать дальше),
  • выберите переключатель “регулярное выражение”в левом нижнем углу диалогового окна.
  • здесь, я буду предполагать, что вы ищете дубликаты шаблонов, таких как variable >= something или hour >= NUM.
  • кроме того, я в группе как можно больше, так что вы можете позже смогу замените путем держать, или бросать прочь, любую часть как нужно.

(1) Явное Найти

вы знаете дубликаты, и вы можете найти их явно, например:

((variable)s*>=s*S+)(.*)(s*>=s*S+)

или, для “час”, просто замените слово “переменная” на слово “час”:

((hour)s*>=s*S+)(.*)(s*>=s*S+)

объяснение:

каждый набор скобок, слева направо, – это группа. Поэтому, вы будете иметь следование:

Группа 1:((variable)s*>=s*S+) : находит строку, начинающуюся с” variable”, за которой следует s (пробел) и * означает любое количество пробелов (следовательно, вы можете иметь “variable>=” или ” variable>=”), символы >= дальше больше s* (любые пробелы), затем, наконец, любой непространственный символ S+ (том + говорит, что должен быть хотя бы один).

Группа 2:(variable) : группа 2 находится в группе 1, и это просто способ извлечь имя “переменная”.

Группа 3:(.*) : что-нибудь между двумя дубликатами вы найдете. Это позволяет сделать что-то с этим дополнительным текстом, если он существует.

Предупреждение, если есть трипликаты (или больше), это будет потребитель шаблоны в середине, делая group1 и group4 содержат только первый и последний дубликаты. Если вы хотите найти последовательные дубликаты, то измените эту часть на (.*?); the ? делает его не жадным, т. е. найдет минимум . (ничего).

4 группа:(s*>=s*S+) : наконец, это дублировать. Причина его дубликат, потому что узор такой же, как и группы 1, Кроме того, он использует , это просто способ сказать, что находится в группе 2. В данном случае это слово “переменная”.

вторая картина для “часа” по мере того как вы увидите идентична, за исключением того, что он ищет “час”, а не”переменную”.

(2) Найти Неизвестные Повторяющиеся Узоры

С небольшими изменениями, вы можете искать любые дубликаты одного и того же шаблона:

((w+)s*>=s*S+)(.*)(s*>=s*S+)

объяснение:

это идентично поиску дубликатов с явно известными именами. Разница здесь заключается в использовании w+ (любые буквы и слова), а не слово “переменная”/”час”.

w+:w соответствует любому символу слова (включая прописные, строчные и цифры, но не знаки препинания или другие символы). The + снова так сказать, по крайней мере, один. Поэтому, с w+ вы найдете любые буквы слова.

Зачастую вы имеете данные большого объема, строки которых повторяются в файле не один раз.

Поскольку дубли (повторения) – это лишний мусор и ненужные данные, то необходимо от них избавиться, и сделать это можно через программу Notepad++.

1. Итак, запустите программу и в верхнем меню нажмите «Plugins», пункты «Plugin Manager» – «Show Plugin Manager»:

Как с помощью Notepad++ удалить повторяющиеся строки (дубли)?

После чего в открывшемся окне, во вкладке «Available» отметьте плагин «TextFX Characters» и нажмите «Install».

Как с помощью Notepad++ удалить повторяющиеся строки (дубли)?

2. Как только плагин успешно установился (если нет – пишите об этом в комментариях), в пустое окно вставьте ваш текст с дублирующимися строками и нажмите комбинацию клавиш:

CTRL + A

Тем самым вы выделяете весь текст.

Перейдите в меню, раздел «TextFX», пункт «TextFX Tools». Проверьте, чтобы здесь стояла галочка у «Sort outputs only UNIQUE (at column) lines»:

Как с помощью Notepad++ удалить повторяющиеся строки (дубли)?

Нажмите «Sort lines case insensitive (at column)». После этих действий дублирующиеся строки в вашем тексте будут удалены.

Обратите внимание, что способ не подойдет для новых версий программы, а также для программы, имеющей разрядность 64 бит.

Добавить комментарий