Удаление с файла строки которая присутствует в другом файле

liveCreature

Пользователь
Регистрация
22.01.2017
Сообщения
87
Благодарностей
10
Баллы
8
Здравствуйте. Подскажите каким инструментом создать удаление с файла одинаковых строк которые присутствуют в другом файле?

Например в списке-1 10 строк.
В списке-2 4 строки, которые присутствуют в списке-1.
Как сделать сравнение и удаление похожих строк в списке-2 и удалении их в списке-1?
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
20 407
Благодарностей
9 116
Баллы
113
Здравствуйте. Подскажите каким инструментом создать удаление с файла одинаковых строк которые присутствуют в другом файле?

Например в списке-1 10 строк.
В списке-2 4 строки, которые присутствуют в списке-1.
Как сделать сравнение и удаление похожих строк в списке-2 и удалении их в списке-1?
http://zennolab.com/discussion/threads/realizacija-chjornogo-spiska.14799/
 

liveCreature

Пользователь
Регистрация
22.01.2017
Сообщения
87
Благодарностей
10
Баллы
8
Я сделал. Но у меня получается берёт одну строку с файла и сравнивает её со всеми строками другого файла. А вот как сделать чтоб сразу брал все строки и сравнивал с другими, чтоб не запускать повторение цикла по строкам.

Из функционала есть только получить кол-во строк и строку. А нужно получить все строки. :-)
 
Последнее редактирование:

liveCreature

Пользователь
Регистрация
22.01.2017
Сообщения
87
Благодарностей
10
Баллы
8
Логика программы: Парсит ссылки на странице в документ А > Сравнивает ссылки с документом Б, если в документе Б есть похожие ссылки то в документе А они удаляются > Берётся первая ссылка с документа А, с неё парсятся детали > Добавляем данную ссылку в документ Б.

Таким образом происходит парсинг нужных деталей страницы. То что спарсили уже не парсим, а новое парсим.
Цикл будет повторятся постоянно.

Я конечно нуб, программой пользуюсь впервые. Застопарился на сравнение с документом Б, т.к. сравнивает только первую строку, а нужно все.
 

ТРОН

Client
Регистрация
31.07.2016
Сообщения
336
Благодарностей
381
Баллы
63
Можно сделать еще немного по другому. Парсим ссылку в переменную, сравниваем в списке Б, если значение есть, то парсим другую ссылку, сравниваем в списке Б, в этот раз допустим значения такого нет, то записываем в список А, а далее после парсинга переносим в список Б или сразу не занося в список А парсить то что нужно. Смотря какая общая логика и скорость работы шаблона. Можно сделать на пост гетах, так он за секунды будет парсить все значения со страницы.
 
  • Спасибо
Реакции: liveCreature

Dimionix

Moderator
Регистрация
09.04.2011
Сообщения
3 068
Благодарностей
3 122
Баллы
113
Здравствуйте. Подскажите каким инструментом создать удаление с файла одинаковых строк которые присутствуют в другом файле?

Например в списке-1 10 строк.
В списке-2 4 строки, которые присутствуют в списке-1.
Как сделать сравнение и удаление похожих строк в списке-2 и удалении их в списке-1?
C#:
IZennoList list1 = project.Lists["List 1"];
IZennoList list2 = project.Lists["List 2"];

List<string> tmpList1 = list1.Except(list1.Intersect(list2)).ToList();
List<string> tmpList2 = list2.Except(list1.Intersect(list2)).ToList();

list1.Clear();
list1.AddRange(tmpList1);

list2.Clear();
list2.AddRange(tmpList2);
 
  • Спасибо
Реакции: liveCreature и Igorii

liveCreature

Пользователь
Регистрация
22.01.2017
Сообщения
87
Благодарностей
10
Баллы
8
Спасибо за помощь. В коде я не шарю так что выбрал вариант Osedjuse.
Проблема, почему программа не может сравнивать такие типы строк ссылок:
Код:
.../%D0%A1%D1%82%D1%30%D0%B8%D+%D0%92%D1%22%D0%BE%D1%80%D0%BE%D0%B9+%D0%BA%D0%BB%D0%B0%D0%BD%D0%BE%D0%B2%D1%8B%D0%B9+%D1%82%D1%83%D1%80%D0%BD%D0%B8%D1%80+/...
И как это пофиксить? Сайт генерирует русские url и соответственно русские буквы в таком виде.
То-есть если он будет сравнивать одинаковые такого формата строки, то напишет нет совпадений, хотя они есть. А если заменю эти строки на цифры, то совпадения будут.
 
Последнее редактирование:

Dimionix

Moderator
Регистрация
09.04.2011
Сообщения
3 068
Благодарностей
3 122
Баллы
113
  • Спасибо
Реакции: liveCreature

liveCreature

Пользователь
Регистрация
22.01.2017
Сообщения
87
Благодарностей
10
Баллы
8

liveCreature

Пользователь
Регистрация
22.01.2017
Сообщения
87
Благодарностей
10
Баллы
8
После получения/перед сохранением, прогонять все ссылки через кубик "Обработка текста - UrlEncode".
А каким образом это сделать :-)
У меня: http://prntscr.com/hx6nyt
Сразу берёт ссылки по регулярке и сохраняет в файл. Между этим действием ничего не вставить, кроме кода.
 

Dimionix

Moderator
Регистрация
09.04.2011
Сообщения
3 068
Благодарностей
3 122
Баллы
113
А каким образом это сделать :-)
У меня: http://prntscr.com/hx6nyt
Сразу берёт ссылки по регулярке и сохраняет в файл
После этого кубик "Операции над списком - Объединить элементы списка", затем обработать эту переменную кубиком "UrlEncode", очистить список и добавить в него данные из переменной.
 
  • Спасибо
Реакции: liveCreature

liveCreature

Пользователь
Регистрация
22.01.2017
Сообщения
87
Благодарностей
10
Баллы
8
После этого кубик "Операции над списком - Объединить элементы списка", затем обработать эту переменную кубиком "UrlEncode", очистить список и добавить в него данные из переменной.
А всё, получилось. Спасибо за помощь, в деталях всё расписали :-)
 
  • Спасибо
Реакции: Dimionix

liveCreature

Пользователь
Регистрация
22.01.2017
Сообщения
87
Благодарностей
10
Баллы
8
К сожалению всё равно не может сравнивать такие строки:
Код:
http://www.site.ru/article/3429886/Стать тест 01 Good article
Вот проект: http://prntscr.com/hx7fgg

Пишет что нет совпадений когда они есть :(
 

ТРОН

Client
Регистрация
31.07.2016
Сообщения
336
Благодарностей
381
Баллы
63
К сожалению всё равно не может сравнивать такие строки:
Код:
http://www.site.ru/article/3429886/Стать тест 01 Good article
Вот проект: http://prntscr.com/hx7fgg

Пишет что нет совпадений когда они есть :(
Если выложите пример с воспроизведением проблемы, то вполне вероятно, что Вам помогут быстрее.
 
  • Спасибо
Реакции: liveCreature

liveCreature

Пользователь
Регистрация
22.01.2017
Сообщения
87
Благодарностей
10
Баллы
8
Если выложите пример с воспроизведением проблемы, то вполне вероятно, что Вам помогут быстрее.
Более детально: http://prntscr.com/hx8dzs
Список содержит такие ссылки:
Код:
http://www.site.ru/article/1231232/статья 1 лучшие котики
http://www.site.ru/article/231232/статья 2 милые угри
Получаем ссылку с файла (ссылки) > Объединяем с файлом (Спарсенные ссылки) > Сравниваем ссылку с файла (ссылки) с ссылками в файле (Спарсенные ссылки) > если результат положительный, то-есть ссылка есть и там и там то есть совпадения, если нет то нет.
Показывает результат все что нет совпадения, хотя они есть.
Ещё показывает крякозябры в экшине сравнений: http://prntscr.com/hx8hmk
Весь русский текст заменяется вопросиками при сравнении, видимо из за этого и не может найти сравнения :(
 
Последнее редактирование:

liveCreature

Пользователь
Регистрация
22.01.2017
Сообщения
87
Благодарностей
10
Баллы
8
Проблему решил. Поставил кодировку ютфбезбом :-)
 
  • Спасибо
Реакции: ТРОН

ТРОН

Client
Регистрация
31.07.2016
Сообщения
336
Благодарностей
381
Баллы
63
Проблему решил. Поставил кодировку ютфбезбом :-)
Все верно, когда такие закорючки, то скорее всего проблема в кодировке. Обычно решается сменой анси в ютф.
Кстати, блоки экшенов удобнее маркировать комментариями вместо заметок, при транспортировке не нужно еще перемещать и заметки.
upload_2018-1-7_21-21-16.png
 
  • Спасибо
Реакции: liveCreature

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