Как в notepad++ удалить повторяющиеся слова?
Имеем БД формата mail:password
Например :
alex@mail.ru;password1
alex@mail.ru;password2
alex1@mail.ru;password1
alex2@mail.ru;password1
Каким регулярным выражением можно искать дубликаты до ;
Чтобы подсветить alex@mail.ru
А также интересно, как сделать это после запятой.
Спасибо.
Всю голову уже себе поломал )
Дополнительно:
Что-нибудь типа "*@*;" не помогает?
мыла выделяются по такому принципу
(b[A-Za-z0-9._%+-]+@[A-Za-Z0-9.-]+.[A-Za-z]{2,6})
как бы дописать, чтобы выделять дубликаты до точки с запятой
Заменять: 12n
Как делать после запятой неопределено, потому что неопределено где находится искомая запятая.
В Linux, в консоли задача решается элементарно:
cat file_name | sort | uniq
Там ещё ключи у uniq есть, если что
посмотреть глазами 100к строк, потребуется окулист
Вы раньше не указывали, сколько там строк. У меня была пара страниц, так что проблем со зрением не возникло :)
$test = "alex@mail.ru;password1 alex@mail.ru;password2 alex1@mail.ru;password1 alex2@mail.ru;password1"; echo preg_replace("/^([^;]+)(;[^rn]+)r?n\1;[^rn]+r?n/", "$1$2n", $test); |
$test = "alex@mail.ru;password1 alex@mail.ru;password2 alex1@mail.ru;password1 alex2@mail.ru;password1"; echo preg_replace("/^([^;]+)(;[^rn]+)r?n\1;[^rn]+r?n/", "$1$2n", $test);
<?php $rows = file("путь к файлу"); $pairs = []; foreach ($rows as $row) { $chunks = explode(';', $row, 2); if ( array_key_exists($chunks[0], $pairs) ) { continue; } $pairs[ $chunks[0] ] = $chunks[1]; } |
<?php $rows = file("путь к файлу"); $pairs = []; foreach ($rows as $row) { $chunks = explode(';', $row, 2); if ( array_key_exists($chunks[0], $pairs) ) { continue; } $pairs[ $chunks[0] ] = $chunks[1]; }
Ответы:
Решение предоставил пользователь @AUser0
Искать: ^([^;]+)(;[^rn]+)r?n1;[^rn]+r?n
Заменять: 12n
Огромная благодарность !
Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.
Пока нет других ответов. Будьте первым, кто поможет автору.
Ответить на вопрос
Для удаления повторяющихся слов в тексте в Notepad++, можно воспользоваться функцией поиска и замены с использованием регулярных выражений. Для этого выполните следующие шаги:
1. Откройте текстовый документ в Notepad++.
2. Нажмите сочетание клавиш Ctrl + H, чтобы открыть окно поиска и замены.
3. Установите флажок "Match case" (с учетом регистра), если необходимо учитывать регистр слов.
4. В поле "Find what" введите следующее регулярное выражение: (\b\w+\b)\s+\1
5. Оставьте поле "Replace with" пустым.
6. Убедитесь, что в поле "Search mode" выбрано значение "Regular expression".
7. Нажмите кнопку "Replace All".
Этот шаблон регулярного выражения (\b\w+\b)\s+\1 найдет все повторяющиеся слова в тексте, после чего их можно удалить, нажав кнопку "Replace All". После выполнения этих действий все повторяющиеся слова будут удалены из текста.
Пример использования регулярных выражений для поиска и удаления повторяющихся слов в Notepad++:
Find what: (\b\w+\b)\s+\1 Replace with: (leave blank) Search mode: Regular expression
Следуя этим инструкциям, вы сможете легко удалить повторяющиеся слова из текста в Notepad++.