Подскажите как обработать данные правильно

xatchikzzz

Client
Регистрация
08.09.2010
Сообщения
577
Благодарностей
41
Баллы
28
имеется список сайтов


C#:
https://nordaccount.com/login/password
https://nordaccount.com/reset-password/new-password
https://nordaccount.com/signup/set-password
https://nordaccount.com
https://nordauth.com/
https://nordauth.com/login/password
https://nordex.datalogic.cloud/girhr-postulaciones/servlet/hbolsa_trabajo
https://nordicquality.timedoctor.com/v2/setup/activatev3/
https://nordicwellness.se/
https://noreplyapp.vitaldent.com
https://noriel.ro/checkout/
https://noriel.ro/customer/account/login/referer/aHR0cHM6Ly9ub3JpZWwucm8vanVjYXJpaQ%2C%2C/
https://norkaroots.org/
https://norkaroots.org/create_user
https://norkaroots.org/login
https://norkaroots.org/web/guest/create_user
https://normacolombia.ingeniat.com/google-login;type=Docentes
https://normacolombia.ingeniat.com/google-login;type=Estudiantes
https://normal.muplatas2.com/
https://normal.muplatas2.com/index.php
https://normal.muplatas2.com/registration
https://normalpiedecuesta.edu.co/edutic20/index.php
https://normalpiedecuesta.edu.co/virtual/login/index.php
https://normalpiedecuesta.edu.co/virtual/login/signup.php
https://normcore.io/dashboard/signup
https://normy.unms.sk/
надо сделать привести их к одному типу и удалить дубли ... как это реализовать быстро можно

итог должен получится такой ...

C#:
https://nordaccount.com/
https://nordaccount.com
https://nordauth.com/
https://nordauth.com
https://nordex.datalogic.cloud/
https://nordicquality.timedoctor.com
https://nordicwellness.se/
https://noreplyapp.vitaldent.com
https://noriel.ro/
https://norkaroots.org/
https://norkaroots.org
https://normacolombia.ingeniat.com
https://normal.muplatas2.com/
https://normalpiedecuesta.edu.co/
https://normcore.io/dashboard/
https://normy.unms.sk/
C#:
nordaccount.com/

nordaccount.com  при таких вариантах ... удалять строку у которой нет слэша в конце

так же удалять строки такого типа

http://185.117.3.124
http://185.117.3.141
http://185.117.3.77
http://185.121.168.36
http://185.136.163.138
http://185.150.25.162
http://185.150.25.220
http://185.152.66.151/
http://185.152.66.151
http://185.153.32.200 состоящих из айпи адресов ... помогите реализовать
 
Последнее редактирование:

K R

Client
Регистрация
14.01.2017
Сообщения
127
Благодарностей
127
Баллы
43
1. Сначала необходимо взять список в переменную.

2. Удаляем лишнее.
Обработка текста - замена в режиме Regex.
- что искать: (?m)(http(|s)://[^/]+?($|/)).*
- на что заменить: $1

3. Добавляем слэш в конце строк, где его нет.
Обработка текста - замена в режиме Regex.
- что искать: (?m)([^/])$
- на что заменить: $1/

4. Удаляем строки с ip.
Обработка текста - замена в режиме Regex.
- что искать: http(|s)://\d{1,3}.\d{1,3}.\d{1,3}.\d{1,3}.*
- на что заменить: тут ничего не пишем, пустота

5. Переносим строки в список.
Обработка текста - В список. Разделитель - свой Regex: \n

6. Удаляем из списка строки содержащие только пробельные символы.

7. Удаляем из списка дублирующие строки.
 
  • Спасибо
Реакции: Shogo и xatchikzzz

xatchikzzz

Client
Регистрация
08.09.2010
Сообщения
577
Благодарностей
41
Баллы
28
1. Сначала необходимо взять список в переменную.

2. Удаляем лишнее.
Обработка текста - замена в режиме Regex.
- что искать: (?m)(http(|s)://[^/]+?($|/)).*
- на что заменить: $1

3. Добавляем слэш в конце строк, где его нет.
Обработка текста - замена в режиме Regex.
- что искать: (?m)([^/])$
- на что заменить: $1/

4. Удаляем строки с ip.
Обработка текста - замена в режиме Regex.
- что искать: http(|s)://\d{1,3}.\d{1,3}.\d{1,3}.\d{1,3}.*
- на что заменить: тут ничего не пишем, пустота

5. Переносим строки в список.
Обработка текста - В список. Разделитель - свой Regex: \n

6. Удаляем из списка строки содержащие только пробельные символы.

7. Удаляем из списка дублирующие строки.
да ты волшебник спасибо! все как надо!
 
  • Спасибо
Реакции: K R

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
20 357
Благодарностей
9 093
Баллы
113
имеется список сайтов


C#:
https://nordaccount.com/login/password
https://nordaccount.com/reset-password/new-password
https://nordaccount.com/signup/set-password
https://nordaccount.com
https://nordauth.com/
https://nordauth.com/login/password
https://nordex.datalogic.cloud/girhr-postulaciones/servlet/hbolsa_trabajo
https://nordicquality.timedoctor.com/v2/setup/activatev3/
https://nordicwellness.se/
https://noreplyapp.vitaldent.com
https://noriel.ro/checkout/
https://noriel.ro/customer/account/login/referer/aHR0cHM6Ly9ub3JpZWwucm8vanVjYXJpaQ%2C%2C/
https://norkaroots.org/
https://norkaroots.org/create_user
https://norkaroots.org/login
https://norkaroots.org/web/guest/create_user
https://normacolombia.ingeniat.com/google-login;type=Docentes
https://normacolombia.ingeniat.com/google-login;type=Estudiantes
https://normal.muplatas2.com/
https://normal.muplatas2.com/index.php
https://normal.muplatas2.com/registration
https://normalpiedecuesta.edu.co/edutic20/index.php
https://normalpiedecuesta.edu.co/virtual/login/index.php
https://normalpiedecuesta.edu.co/virtual/login/signup.php
https://normcore.io/dashboard/signup
https://normy.unms.sk/
надо сделать привести их к одному типу и удалить дубли ... как это реализовать быстро можно

итог должен получится такой ...

C#:
https://nordaccount.com/
https://nordaccount.com
https://nordauth.com/
https://nordauth.com
https://nordex.datalogic.cloud/
https://nordicquality.timedoctor.com
https://nordicwellness.se/
https://noreplyapp.vitaldent.com
https://noriel.ro/
https://norkaroots.org/
https://norkaroots.org
https://normacolombia.ingeniat.com
https://normal.muplatas2.com/
https://normalpiedecuesta.edu.co/
https://normcore.io/dashboard/
https://normy.unms.sk/
C#:
nordaccount.com/

nordaccount.com  при таких вариантах ... удалять строку у которой нет слэша в конце

так же удалять строки такого типа

http://185.117.3.124
http://185.117.3.141
http://185.117.3.77
http://185.121.168.36
http://185.136.163.138
http://185.150.25.162
http://185.150.25.220
http://185.152.66.151/
http://185.152.66.151
http://185.153.32.200 состоящих из айпи адресов ... помогите реализовать
Можно еще с помощью этой регулярки: http.*[\w-]+\.\w+(?=/|\r?\n|$) в кубике 'Обработка текста - Regex - Все - В список'.

Строки с IP можно удалить потом с помощью кубика 'Операции над списком - Удалить строки удовлетовряющие рег-выражению': \d+\.\d+\.\d+\.\d+

Приложил пример шаблона с этими операциями.
Итого: всего 3 действия (вместе с кубиком очистки дублей).
 

Вложения

Последнее редактирование:
  • Спасибо
Реакции: Alexmd и Shogo

Alexmd

Client
Регистрация
10.12.2018
Сообщения
1 022
Благодарностей
1 424
Баллы
113
C#:
var list = project.Lists["events"];
list.AddRange(list
    .GetItems("all", true)
    .Where(x=>Uri.TryCreate(x,UriKind.Absolute, out Uri url))
    .Select(x=>
    {
        var uri = new Uri(x);
        return $"{uri.Scheme}://{uri.Host}/";
    })
    .Distinct()
);
 
Последнее редактирование:

xatchikzzz

Client
Регистрация
08.09.2010
Сообщения
577
Благодарностей
41
Баллы
28
C#:
var list = project.Lists["events"];
list.AddRange(list
    .GetItems("all", true)
    .Where(x=>Uri.TryCreate(x,UriKind.Absolute, out Uri url))
    .Select(x=>
    {
        var uri = new Uri(x);
        return $"{uri.Scheme}://{uri.Host}/";
    })
    .Distinct()
);
Вот это вообще пушка ... спасибо большое .... скорость вообще космолет
 
  • Спасибо
Реакции: Alexmd

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