Чекнуть регексом сразу весь файл

AgentRassilok

Известная личность
Регистрация
08.11.2016
Сообщения
1 272
Благодарностей
466
Баллы
83
привет всем с праздниками!)

есть файл например на 1000 строк )) везде ссылки
надо чекнуть на наличие определенных зон например com.ua

одной регуляркой
и сразу все ссылки

1. сейчас я делаю - берешь строку, чекаешь, ложишь в другой файл. и так по кругу. но ужасно медленно ))
есть способ быстрее - чтобы сразу чекать весь файл и результаты с него писать в другой файл? ))

спасибо!)
 

orka13

Client
Регистрация
07.05.2015
Сообщения
2 177
Благодарностей
2 184
Баллы
113
1. файл прочитать в переменную.
2. переменную парсим по регулярке, но не 1 значение, а все (оно в список предложит спарсить).
2. Сохраняем список в файл2, или объединяем в нем строки в переменную и ее пишем в файл2.
 
Последнее редактирование:

Шива

Client
Регистрация
05.02.2018
Сообщения
1 088
Благодарностей
341
Баллы
83
Делаешь замену того что ищешь на ничего.
 

Vlad_Curnoi

Client
Регистрация
09.08.2017
Сообщения
469
Благодарностей
198
Баллы
43
привет всем с праздниками!)

есть файл например на 1000 строк )) везде ссылки
надо чекнуть на наличие определенных зон например com.ua

одной регуляркой
и сразу все ссылки

1. сейчас я делаю - берешь строку, чекаешь, ложишь в другой файл. и так по кругу. но ужасно медленно ))
есть способ быстрее - чтобы сразу чекать весь файл и результаты с него писать в другой файл? ))

спасибо!)
На c#,список в переменную,регуляркой в массив с массива в список
 

qzen4i

Client
Регистрация
01.05.2014
Сообщения
1 408
Благодарностей
314
Баллы
83
привет всем с праздниками!)

есть файл например на 1000 строк )) везде ссылки
надо чекнуть на наличие определенных зон например com.ua

одной регуляркой
и сразу все ссылки

1. сейчас я делаю - берешь строку, чекаешь, ложишь в другой файл. и так по кругу. но ужасно медленно ))
есть способ быстрее - чтобы сразу чекать весь файл и результаты с него писать в другой файл? ))

спасибо!)
Можно как вариант, сделать удаление строк не изменяя файл в пк, всего что не соотвествует .com к примеру, потом сохранять список в другой файл, и так по всем признаком, делать пока список самих признаков не опустеет. Вроде выходит всего 3 экшна.
 

qzen4i

Client
Регистрация
01.05.2014
Сообщения
1 408
Благодарностей
314
Баллы
83
Можно как вариант, сделать удаление строк не изменяя файл в пк, всего что не соотвествует .com к примеру, потом сохранять список в другой файл, и так по всем признаком, делать пока список самих признаков не опустеет. Вроде выходит всего 3 экшна и быстро
 

Adigen

Client
Регистрация
28.07.2014
Сообщения
825
Благодарностей
653
Баллы
93
привет всем с праздниками!)

есть файл например на 1000 строк )) везде ссылки
надо чекнуть на наличие определенных зон например com.ua

одной регуляркой
и сразу все ссылки

1. сейчас я делаю - берешь строку, чекаешь, ложишь в другой файл. и так по кругу. но ужасно медленно ))
есть способ быстрее - чтобы сразу чекать весь файл и результаты с него писать в другой файл? ))

спасибо!)
C#:
//Ссылки
string[] links = File.ReadAllLines(@"c:\links.txt");
//Регулярка
Regex re = new Regex(@".*\.(org|com|ru|ua)", RegexOptions.IgnoreCase);
string[] result = links.AsParallel().Where(link => re.IsMatch(link)).ToArray();
//результат
File.WriteAllLines(@"c:\result.txt", result);
 

Шива

Client
Регистрация
05.02.2018
Сообщения
1 088
Благодарностей
341
Баллы
83
C#:
//Ссылки
string[] links = File.ReadAllLines(@"c:\links.txt");
//Регулярка
Regex re = new Regex(@".*\.(org|com|ru|ua)", RegexOptions.IgnoreCase);
string[] result = links.AsParallel().Where(link => re.IsMatch(link)).ToArray();
//результат
File.WriteAllLines(@"c:\result.txt", result);
Давай сразу вариант еще и что бы он домены com.ua не брал
 

Adigen

Client
Регистрация
28.07.2014
Сообщения
825
Благодарностей
653
Баллы
93
  • Спасибо
Реакции: Шива

AgentRassilok

Известная личность
Регистрация
08.11.2016
Сообщения
1 272
Благодарностей
466
Баллы
83
да сделал просто на самом деле
1. обьединить строки в перемменную
2. из переменной regex в файл
3. главное что работает быстро )))

всем спасибо!)
 

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