Обработка (очищение) e-mail листа

Статус
В этой теме нельзя размещать новые ответы.

Gentle

Профессор
Регистрация
8 Окт 2007
Сообщения
140
Реакции
44
Есть файл с базой данных пользователей, нужно его импортировать в mailtux, но ему что-то не нравится. Толком, что я не понял, поэтому начал чистить от всяких странных символов.

Привел все строки их к единому формату для импорта, но там куча того, что мне не нужно...

Вопрос: Как обработать этот массив данных?

Вот такого вида файлик из нескольких тысяч строк:
HTML:
kdddra-84@mail.ru;Катюшка;-----------
kdddniya.semina@mail.ru;?????µ??????;???µ???????°
bykdddva_to@mail.ru;Татьяна;Быкова
ekdddrulina@mail.ru;Елена;Копорулина
s_dddd80@mail.ru;Svetlana;Dani
keee2110@mail.ru;;
chto-to@mail.ru;ГУ;ЦКГ;;;;;ФТС;России;

Задача удалить всё, что имеет всякие знаки припинания и заменить их какой-нть строкой типа "man".
Заменить:
HTML:
kdddniya.semina@mail.ru;?????µ??????;???µ???????°
на:
HTML:
kdddniya.semina@mail.ru;Имя;Фамилия

Я пользуюсь для этого Notepad++. А регэкс пытаюсь делать в RexExBuddy

Вот такая штука у меня получилась:
^[-\w.]+@([A-z0-9][-A-z0-9]+\.)+[A-z]{2,4}.+[\@\_\~\$\-\*\.\)\|\(\'\!\?\<\>].*$

Где
^[-\w.]+@([A-z0-9][-A-z0-9]+\.)+[A-z]{2,4}
проверка на мыло, а остальное попытка зацепить незацепляемое

Эта штука не убирает вот такие строки
HTML:
chto-to@mail.ru;ГУ;ЦКГ;;;;;ФТС;России;
keee2110@mail.ru;;
и еще некоторые

Решил пользовать частицу "не":
^[-\w.]+@([A-z0-9][-A-z0-9]+\.)+[A-z]{2,4};[^а-яА-ЯA-Za-z0-9]
Но здесь не пойму как зацепиться за "точку с запятой", чтобы он две обрабатывал...

Можете помочь с этим? Желательно с объяснением, где стоит знак ";" - чтобы я замену мог делать. Похоже как-то надо разделить первую группу до ; и вторую, чтобы можно было искать и заменять в два присеста. Не хочется, чтобы имя и фамилия совпадали друг с другом...
 
В textpipe есть уже готовый фильтр для email.
b6cbc2850fb0005d8a9c241c7dabfaf8.png

Ну это если не хочется голову ломать)
 
Если имя и фамилия стоят в определенных местах, то можно с помощью программы CSVed просто удалить ненужные столбцы.
 
Мне не нужно удалять имя и фамилию, мне нужно удалить "не правильные" имя и фамилию))
Не правильные - это знаки припинания, знаки вопросов и пробелы

И так же строки, которые совсем не правильные типа: email@gmail.com;;;;;;

Для это и нужна регулярка. Еще раз повторяюсь: мне не удалить второй и третий столбцы надо, а вычистить базу от лишних (кривых) строк.

Update: Кароче я решил сделать таки, как вы предлагали)) Удалил фамилии к чертям.
Регуляркой:
HTML:
;.*[\@\~\$\*\.\)\|\(\'\"\!\?\<\>\-\,\=\•\¤].*$
Заменил все кривые имена на ";Девушка", ибо знаю, что база женская.

Идем методом упрощения))
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху