Перейти до основного вмісту
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, журналів або конфігурації.
  • Порівняйте Версії ПерекладівПодивіться, що змінилося між двома версіями перекладеного документу, файлу субтитрів або рядка локалізації.
  • Відстежуйте Зміни у Версіях КонтентуПорівняйте оригінальні та відредаговані версії статті, допису блогу або маркетингового тексту, щоб перевірити, що змінилося.

Як це працює

Порівняння текстів використовує власноруч написаний алгоритм найдовшої спільної підпослідовності (LCS), реалізований прямо в інструменті, — без зовнішніх бібліотек diff. Усе працює в браузері; ваш текст ніколи не надсилається на сервер.

  1. 1
    Текст ділиться на рядки
    Вміст кожного текстового поля ділиться за символами переносу рядка на масив рядків. Необов’язкова нормалізація (нижній регістр, стиснення пробілів) застосовується до копії цих масивів перед порівнянням, а оригінали зберігаються для відображення.
  2. 2
    Таблиця LCS обчислюється в Uint32Array
    Таблиця динамічного програмування знизу вгору будується в типізованому Uint32Array — O(m×n) і за часом, і за пам’яттю. Для введень, де загальна кількість клітинок перевищила б 4 мільйони (близько 16 MB), алгоритм автоматично переходить на грубіше блокове порівняння, щоб сторінка залишалася чутливою.
  3. 3
    Підсвічування слів у змінених рядках
    Коли за видаленим рядком одразу йде вставлений, для слів цієї пари (поділених за пробілами) запускається другий прохід LCS. Це дає вбудовані підсвічені фрагменти, що показують, які саме слова змінилися в рядку, а не лише які рядки змінилися.
  4. 4
    Уніфікований вигляд різниці зі згортанням контексту
    Список операцій відображається як уніфікований diff з префіксами +/− і кольоровим кодуванням. Незмінені рядки поза налаштовуваним вікном контексту (за замовчуванням 3 рядки) згортаються за трикрапкою. Повний результат можна скопіювати в буфер обміну або завантажити як файл звичайного тексту .txt.

Схожі інструменти

Часті запитання