Нужна помощь в парсинге

impul5e

Client
Регистрация
15.08.2017
Сообщения
202
Благодарностей
40
Баллы
28
Всем привет, разбираю базу email'ов и возник такой вопрос. При парсинге из списка таким образом - https://prnt.sc/17tlpi3 , если в переменной domain будет, например, live.com, то спарсятся также ящики типа mail@live.com.mx, а мне нужны только заканчивающиеся на live.com, в данном случае. Как исправить? Заранее благодарю всех за ответы.
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
22 475
Благодарностей
10 023
Баллы
113
мне нужны только заканчивающиеся на live.com
Попробуйте изменить критерий поиска по регулярному выражению, обрабатывать домен через "Обработка текста - Escape строки" и в конце регулярки использовать знак доллара, обозначающий конец строки.

79570
 
  • Спасибо
Реакции: impul5e и one

Alexmd

Client
Регистрация
10.12.2018
Сообщения
1 021
Благодарностей
1 431
Баллы
113
C#:
string[] domains = new[]{"@live.com","@google.com"};
bool del = false;//true - удалять подсписок из основного списка
var allBase = project.Lists["исходный список"];
var parsedBase = project.Lists["новый подсписок"];
var list = allBase.ToList();
foreach(string domain in domains){
    var list1 = list.Where(x=>x.EndsWith(domain)).ToList();
    project.SendInfoToLog(domain + ": " + list1.Count);
    parsedBase.AddRange(list1);
}
if(del){
    allBase.Clear();
    list = list.Except(parsedBase).ToList();
    allBase.AddRange(list);
}
project.SendInfoToLog("Всего найдено: " + parsedBase.Count);
 

impul5e

Client
Регистрация
15.08.2017
Сообщения
202
Благодарностей
40
Баллы
28
Всем спасибо, первый ответ отлично подошел. За c# отдельное спасибо, но в этот раз он не пригодился.
 

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)