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

impul5e

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

Sergodjan

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

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

Alexmd

Client
Регистрация
10.12.2018
Сообщения
1 021
Благодарностей
1 385
Баллы
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
Сообщения
198
Благодарностей
40
Баллы
28
Всем спасибо, первый ответ отлично подошел. За c# отдельное спасибо, но в этот раз он не пригодился.
 

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