Удаляйте дублирующиеся строки из текста одним кликом. Выбирайте между сравнением с учётом или без учёта регистра. Смотрите статистику удалённых строк.
Сохранённые настройки — функция для спонсоров.
История инструментов — функция для спонсоров.
Заметки к инструментам — функция для спонсоров.
Введите текст с дублирующимися строками в область ввода.
Переключите чувствительность к регистру в соответствии с вашими потребностями.
Скопируйте текст без дубликатов в буфер обмена.
Инструмент использует структуру данных Set в JavaScript для отслеживания увиденных строк. Set автоматически обеспечивает уникальность и предоставляет поиск за O(1) константное время, что делает его очень эффективным даже для больших текстов. Когда инструмент итерируется по строкам, он проверяет, существует ли каждая строка уже в Set. Если нет, строка добавляется как в Set, так и в массив вывода. Если да, она пропускается. Этот подход гарантирует, что сохраняется только первое появление каждой уникальной строки.
В режиме без учета регистра инструмент поддерживает два отдельных представления каждой строки: исходный регистр (для вывода) и версию в нижнем регистре (для сравнения). Set хранит версии в нижнем регистре для обнаружения дубликатов, в то время как массив вывода сохраняет исходный регистр. Это позволяет строкам, таким как «Apple», «APPLE» и «apple», распознаваться как дубликаты, отображая при этом тот регистр, который появился первым в вашем вводе.
Инструмент разделяет текст по символам новой строки (\n, \r\n или \r), чтобы создать массив строк. Различные операционные системы используют разные соглашения о концах строк (Windows использует \r\n, Unix/Mac используют \n), и инструмент правильно обрабатывает все форматы. После разделения каждая строка обрабатывается индивидуально без изменения содержимого самой строки — нормализуются только концы строк в выводе.
Инструмент предоставляет статистику в реальном времени, показывающую количество исходных строк, оставшихся уникальных строк и сколько дубликатов было удалено. Эти метрики вычисляются во время процесса дедупликации: исходные строки = input.split('\n').length, уникальные строки = Set.size, удалено = исходные - уникальные. Это дает вам немедленную обратную связь об эффективности дедупликации.
Вся обработка происходит полностью в вашем браузере с использованием нативных методов массивов JavaScript и операций Set. Нет связи с сервером — инструмент является чисто клиентским приложением. Для типичных случаев использования (менее 100 000 строк) производительность мгновенная. Алгоритмическая сложность составляет O(n), где n — количество строк, что делает его линейно масштабируемым с размером ввода.
Инструмент сканирует каждую строку текста и отслеживает уже увиденные строки. Когда он встречает дубликат, он удаляет его, сохраняя исходный порядок уникальных строк.