Удалятор дублей не видит разницу

  • Автор темы Автор темы timoxa949
  • Дата начала Дата начала

timoxa949

Client
Регистрация
16.11.2018
Сообщения
158
Реакции
27
Баллы
28
Есть ли разница в этих словах?:

weapons
weapons

Удаление дублей не помогает.

Прикрепляю файл
 

Вложения

Есть ли разница в этих словах?:

weapons
weapons

Удаление дублей не помогает.

Прикрепляю файл
Проверил сейчас, они идентичны и у меня дубль удаляется.
Напишите, можно со скринами, каким образом вы удаляете дубль.
 
Попробуйте по хешу удалить дубль:
C#:
Развернуть Свернуть Копировать
    HashSet<string> hs = new HashSet<string>(project.Lists["list"]);
    project.Lists["list"].Clear();
    project.Lists["list"].AddRange(hs);
 
  • Оценить
Реакции: timoxa949
Проверил сейчас, они идентичны и у меня дубль удаляется.
Напишите, можно со скринами, каким образом вы удаляете дубль.

Пробую удалить кубиком Операции над списком Удаление дублей.
 
Попробуйте по хешу удалить дубль:
C#:
Развернуть Свернуть Копировать
    HashSet<string> hs = new HashSet<string>(project.Lists["list"]);
    project.Lists["list"].Clear();
    project.Lists["list"].AddRange(hs);

Спасибо попробую
 
Пробую удалить кубиком Операции над списком Удаление дублей.
Именно так проверял - из вашего текстовика копировал в список и удалял дубли, все было отлично.
Попробуйте перезагрузить программу и снова проверить.
 
  • Оценить
Реакции: timoxa949
Именно так проверял - из вашего текстовика копировал в список и удалял дубли, все было отлично.
Попробуйте перезагрузить программу и снова проверить.

Интересно, в проекте не удаляет, копировал вставил в новый проект все работает. Да, наверное надо перезагрузиться. Спасибо.
 
  • Оценить
Реакции: Sergodjan
Интересно, в проекте не удаляет, копировал вставил в новый проект все работает.
Магия может происходит тогда, когда данные берутся с файла, который сохранён в кодировке с BOM.
В этом случае впереди файла размещается метка - из-за чего получается, что мы видим слово, а в реальности компьютер видит там ещё дополнительные байты.
Если есть вероятность появления такой метки (данные берутся с какого-то списка, таблицы CSV), то прежде чем что-то с ними делать - есть смысл удалить метку.
C#:
Развернуть Свернуть Копировать
string get = "text......"; // допустим этот текст получен с файла
get = get.TrimStart('\uFEFF'); // Пример удаления BOM метки
Пример удаления метки BOM в списке
C#:
Развернуть Свернуть Копировать
List<string> list = new List<string>(); 
//
// допустим здесь мы заполнили список данными с файла
//
list = list.AsParallel().Select(y => y.TrimStart('\uFEFF')).ToList(); // Удаляем метку BOM, если такая есть

Я не знаю, это конкретно Ваш случай или нет, но мне данная проблема где-то неделю выносила мозг, и я не мог понять почему шаблон не всегда отрабатывает корректно - а оказывается, получал данные с сайта GET запросом - и результат включал эти байты перед ответом.
 
  • Оценить
Реакции: Santorini и timoxa949
Магия может происходит тогда, когда данные берутся с файла, который сохранён в кодировке с BOM.
В этом случае впереди файла размещается метка - из-за чего получается, что мы видим слово, а в реальности компьютер видит там ещё дополнительные байты.
Если есть вероятность появления такой метки (данные берутся с какого-то списка, таблицы CSV), то прежде чем что-то с ними делать - есть смысл удалить метку.
C#:
Развернуть Свернуть Копировать
string get = "text......"; // допустим этот текст получен с файла
get = get.TrimStart('\uFEFF'); // Пример удаления BOM метки
Пример удаления метки BOM в списке
C#:
Развернуть Свернуть Копировать
List<string> list = new List<string>();
//
// допустим здесь мы заполнили список данными с файла
//
list = list.AsParallel().Select(y => y.TrimStart('\uFEFF')).ToList(); // Удаляем метку BOM, если такая есть

Я не знаю, это конкретно Ваш случай или нет, но мне данная проблема где-то неделю выносила мозг, и я не мог понять почему шаблон не всегда отрабатывает корректно - а оказывается, получал данные с сайта GET запросом - и результат включал эти байты перед ответом.

Возможно даже это мой случай, так как данные также беру GET запросом, далее чищу регулярками и потом пытаюсь чистить от дублей. И в итоге в списке с 15 дублями, остаются 2 дубля. Спасибо за помощь буду пробовать.
 
а оказывается, получал данные с сайта GET запросом - и результат включал эти байты перед ответом.
Так значит проблема в результатах парсинга, либо регулярка отрабатывает неправильно
Либо что-то еще
 

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