テキスト比較(差分チェック)
2つのバージョンを比べると、削除1行、追加1行、変更なし1行です。変更された行の中では "brown" が "red" になった部分だけがハイライトされます。
使い方
- 左に元のテキスト、右に変更後のテキストを貼り付けます。
- 追加された行は緑、削除された行は赤で表示され、行の中で変わった単語はさらに濃く強調されます。
- 左右比較と統合表示を切り替えられます。大文字小文字の無視、空白の無視、前後の数行を添えて変更箇所だけを表示するオプションもあります。
- 差分をコピーを押すと、- と + の記号が付いた統合表示の内容をコピーします。
計算方法
比較には diff や git と同じ系統の Myers O(ND) アルゴリズム(Eugene W. Myers, 1986)を使います。左のテキストを右のテキストに変える、行の挿入と削除の最短の手順を求めます。
削除された行のまとまりの直後に追加された行のまとまりが続く場合、順番にペアにして単語単位でもう一度比較します。これで行の中のどの単語が変わったかがわかります。
大文字小文字の無視は、比較の前に両方を小文字にそろえます(このページの言語の規則に従います)。空白の無視は各行の前後の空白を除き、連続した空白を1つとみなします。表示されるのは常に入力したままの原文です。
2つのテキストの違いが大きく、3,000回を超える編集が必要な場合は最短手順の探索を打ち切り、異なる中間部分をまとめて削除・追加として表示します。そのときはお知らせが表示されます。
よくある質問
左右比較と統合表示の違いは何ですか?
左右比較は左に元の文章、右に変更後の文章を置き、変わった行同士を並べます。統合表示はパッチファイルのようにすべての行を1回ずつ並べ、削除行に -、追加行に + を付けます。画面が狭いときは左右が上下に並びます。
変更した行が、削除1行と追加1行として表示されるのはなぜですか?
行は丸ごと比較するためです。1文字でも違えば古い行は削除、新しい行は追加として数えます。ハイライトされた単語が行の中で実際に違う箇所です。
日本語の文章も比較できますか?
できます。行の比較はどの言語でも同じです。ただし単語のハイライトは、空白なしで続く文字のまとまりを1つの単位として扱うため、日本語や中国語では1文字ずつではなく、変わった文のまとまり全体が強調されます。
WindowsとUnixの改行の違いは影響しますか?
しません。CRLF、LF、CRの改行は同じものとして扱い、テキスト末尾の改行1つは余分な行として数えません。
テキストはアップロードされますか?
いいえ。比較はブラウザ内で行い、サーバーには何も送りません。