Сравнение текстов (diff)
Сравните два блока текста и мгновенно увидите добавленные, удалённые и неизменённые строки рядом
Оригинал
Изменённый
Всё сравнение выполняется локально в вашем браузере. Ваш текст никогда не отправляется на сервер.
Различия
Об этом инструменте
Этот инструмент сравнения текстов сопоставляет два блока текста и точно показывает, что между ними изменилось. Вставьте оригинал слева, а изменённую версию справа, и инструмент выровняет их, чтобы с одного взгляда показать добавленные, удалённые и неизменённые строки. Добавленные строки подсвечиваются зелёным, удалённые - красным, а нетронутые остаются нейтральными. Вы можете переключаться между единым видом, который складывает всё в одну колонку с метками + и -, и параллельным видом, который размещает две версии в выровненных колонках. Опции позволяют игнорировать пробелы, игнорировать регистр и игнорировать конечные пробелы, чтобы косметические различия не засоряли результат. Счётчик показывает, сколько строк было добавлено, удалено и осталось без изменений. Всё вычисляется локально в вашем браузере, поэтому даже большие или конфиденциальные документы никогда не покидают ваше устройство.
Как пользоваться
- 1 Вставьте или введите исходный текст в левое поле, а изменённый - в правое.
- 2 Выберите вид: параллельный для сравнения колонок или единый для списка +/- в одну колонку.
- 3 Включите игнорирование пробелов, регистра или конечных пробелов, чтобы пропустить косметические различия.
- 4 Просмотрите подсвеченные строки и счётчики добавленных/удалённых/неизменённых и при необходимости скопируйте результат.
Как это работает
Инструмент разбивает оба текста на строки и сравнивает их с помощью алгоритма наибольшей общей подпоследовательности (LCS). LCS находит наибольший набор строк, встречающихся в одном и том же порядке в обеих версиях - это неизменённые строки. Всё, что не входит в эту общую подпоследовательность, классифицируется: строка только в оригинале считается удалённой, а строка только в изменённом тексте - добавленной. Поскольку LCS действительно максимальна, diff использует наименьшее возможное число добавлений и удалений, благодаря чему результат выглядит естественно, а не помечает заново целые абзацы. Опции игнорирования применяются только при сравнении: строки нормализуются (обрезаются, пробелы сжимаются, приводятся к нижнему регистру) для определения совпадения, но отображается всегда исходный текст. Внешние библиотеки не используются, и ничего не загружается.
Часто задаваемые вопросы
Отправляется ли мой текст на сервер?
Нет. Всё сравнение выполняется в вашем браузере на JavaScript. Ваш исходный и изменённый текст никогда не покидает устройство, поэтому безопасно сравнивать частный код, договоры или заметки. Вы даже можете отключиться от интернета, и инструмент продолжит работать.
В чём разница между единым и параллельным видом?
Единый вид складывает всё в одну колонку, помечая добавленные строки знаком +, а удалённые - знаком -, подобно выводу git или patch. Параллельный вид размещает оригинал и изменённую версию в двух выровненных колонках, чтобы просматривать совпадающие строки по горизонтали. Оба показывают один и тот же diff - выбирайте тот, что удобнее читать.
Что делают опции игнорирования?
Игнорирование пробелов обрезает каждую строку и сжимает последовательности пробелов и табуляций, чтобы изменения отступов не учитывались. Игнорирование регистра считает заглавные и строчные буквы одинаковыми. Игнорирование конечных пробелов убирает пробелы и табуляции в конце строки. Эти опции влияют только на то, как сопоставляются строки; отображается всегда ваш исходный ввод.
Как вычисляется diff?
Используется построчный алгоритм наибольшей общей подпоследовательности (LCS) - то же семейство методов, что лежит в основе таких инструментов, как diff и git. LCS находит максимальный набор общих для обеих версий строк по порядку, а затем помечает остальное как добавленное или удалённое, давая наименьший и понятный набор изменений.
Есть ли ограничение размера?
Каждая сторона ограничена 5000 строками, чтобы сравнение оставалось быстрым, а страница отзывчивой. При превышении инструмент показывает сообщение с просьбой сократить ввод. Для обычных документов, файлов кода и статей этого предела более чем достаточно.
Связанные инструменты и применение
Сочетайте сравнение текстов со счётчиком слов для измерения текста, конвертером регистра для нормализации перед сравнением и форматировщиком JSON для приведения данных в порядок, чтобы diff оставался осмысленным. Его используют для проверки правок, сравнения версий кода или конфигураций, вычитки черновиков и точного выявления изменений между двумя редакциями.