Перейти к основному содержимому
LibraTool logoLibraTool

Сравнение текста — бесплатно

Сравнивайте два блока текста и точно видьте, что изменилось. Построчное сравнение с добавленными, удалёнными и неизменёнными строками.

Работает офлайн после загрузки
Контекст:
+3 добавлено−2 удалено2 без изменений
Разница
+The quick brown fox leaps over the lazy dog.
−The quick brown fox jumps over the lazy dog.
Pack my box with five dozen liquor jugs.
+How amazingly quick daft zebras jump!
−How vexingly quick daft zebras jump!
The five boxing wizards jump quickly.
+Now is the time for all good men.

Частые применения

  • Сравнение фрагментов кодаТочно определите, что изменилось между двумя версиями фрагмента кода, конфигурации или скрипта.
  • Сравнение черновиков документовНайдите каждое изменение между двумя черновиками документа, контракта или статьи — строка за строкой.
  • Сравнение данных и файлов CSVНайдите различия между двумя версиями экспортированных данных, CSV, журналов или конфигурации.
  • Сравнение версий переводаПосмотрите, что изменилось между двумя версиями переведенного документа, файла субтитров или строки локализации.
  • Отслеживание изменений при пересмотре контентаСравните исходные и отредактированные версии статьи, сообщения в блоге или маркетингового текста, чтобы проверить, что изменилось.

Как это работает

Text Diff использует написанный вручную алгоритм Наибольшей Общей Подпоследовательности (LCS), реализованный прямо в этом инструменте — без внешней библиотеки diff. Всё работает в браузере; ваш текст никогда не отправляется на сервер.

  1. 1
    Текст разбивается на строки
    Содержимое каждого текстового поля разбивается по символам перевода строки в массив строк. Опциональная нормализация (перевод в нижний регистр, сворачивание пробелов) применяется к копии этих массивов перед сравнением, в то время как оригиналы сохраняются для отображения.
  2. 2
    Таблица LCS вычисляется в Uint32Array
    Таблица динамического программирования снизу вверх строится в типизированном Uint32Array — O(m×n) как по времени, так и по памяти. Для вводов, чьё объединённое количество ячеек превысило бы 4 миллиона (около 16 МБ), алгоритм автоматически возвращается к более грубому блочному diff, так что страница остаётся отзывчивой.
  3. 3
    Подсветка на уровне слов на изменённых строках
    Когда удалённая строка немедленно следует за вставленной строкой, второй проход LCS выполняется на токенизированных словах этой пары (разбитых по пробельным символам). Это производит инлайн подсвеченные сегменты, показывающие точно, какие слова изменились внутри строки, а не только какие строки изменились.
  4. 4
    Унифицированный вид diff со сворачиванием контекста
    Список операций рендерится как унифицированный diff с префиксами +/− и цветовой кодировкой. Неизменённые строки за пределами настраиваемого окна контекста (по умолчанию: 3 строки) сворачиваются за многоточием. Полный результат можно скопировать в буфер обмена или скачать как файл обычного текста .txt.

Похожие инструменты

Часто задаваемые вопросы