本文へスキップ
LeedyBox
支援する

テキスト / コード比較

2つのコードやテキストを行単位で比較し、追加・削除された行を強調表示します。

差分

使用する前に結果を確認してください。 このツールは現状のまま無保証で提供されており、結果が不完全または誤っている場合があります。 利用規約

比較は行単位です。空白の違いも変更として扱い、Windows と Unix の改行は同じものとみなします。行内の変更は個別には強調表示しません。

使い方

  1. 「元のテキスト」に以前のバージョンを、「変更後のテキスト」に新しいバージョンを貼り付けます。どちらの欄にも最初は短い JSON の例が入っているので、置き換えてください。
  2. 「差分」の結果は、入力や貼り付けに合わせて更新されます。比較ボタンを押す必要はありません。
  3. 結果は上から順に読みます。赤い背景で - が付いた行は元のテキストから削除された行、緑の背景で + が付いた行は変更後のテキストで追加された行、記号のないグレーの文字の行は両方で同じ行です。
  4. 「差分」と同じ行にある数値を確認します。追加された行と削除された行の数を示しており、編集された行は削除 1 行と追加 1 行として数えられます。すべての行が一致する場合は、代わりに「2つのテキストは同じです。」と表示されます。

よくある質問

比較するテキストは、アップロードされたり保存されたりしますか?

いいえ。比較はブラウザ内の JavaScript で行われ、貼り付けたテキストは LeedyBox に送信されません。ツールがテキストを保存することもありません。

同じに見える 2 つの行が、削除と追加として表示されるのはなぜですか?

行は 1 文字ずつ正確に比較されるため、末尾の空白、スペースの代わりのタブ、通常の空白の代わりのノーブレークスペース、目に見えないゼロ幅文字があるだけでも異なる行になります。また、多くのアクセント付き文字は、1 つの文字として、または基本の文字の後に結合用のアクセントが続く形として、2 通りの Unicode 形式で保存できます。この 2 つは見た目が同じでも一致しません。大文字と小文字も別の文字として扱われます。Windows と Unix の改行は同じものとして扱われるため、改行コードの違いは原因になりません。

末尾に空の行が追加または削除されたと表示されるのはなぜですか?

多くの場合、一方のテキストは改行で終わり、もう一方は改行で終わっていないためです。テキストは改行ごとに分割されるため、最後に改行があると、空の最終行が 1 つ加わります。両方のテキストの終わり方をそろえると、余分な行は表示されなくなります。

編集した行や移動した行はどのように表示されますか?

このツールは、両方のテキストに同じ順序で現れる行をできるだけ多く見つけ、それ以外の行をすべて削除または追加として表示します。そのため、編集した行は削除された行と追加された行の組として表示され、通常は削除された行が先に来ます。連続する複数の行を編集した場合は、通常、削除された行がまとめて先に表示されます。移動は移動として検出されず、ある場所で削除され、別の場所で追加された行として表示されます。多くの行からなるブロックが少数の行をまたいで移動した場合は、ブロック自体には印が付かず、その少数の行のほうが削除・追加として表示されることがあります。

結果を git apply や patch コマンド用のパッチとして使えますか?

いいえ。結果にはすべての行が表示され、追加された行の先頭には +、削除された行の先頭には -、変更されていない行の先頭には空白 2 つが付きます。unified diff とは異なり、行番号を含む @@ ハンクヘッダーや、ファイル名を含む --- と +++ の行がないため、git apply や patch コマンドでは読み込めません。結果は変更の確認に使い、パッチファイルは git diff または diff -u で作成してください。

どのくらいの量のテキストを比較できますか?

両方のテキストの先頭と末尾で一致している行は上限の計算に含まれず、結果にはそのまま表示されます。残りの部分について、元のテキストの行数と変更後のテキストの行数を掛けた値が 4,000,000 を超える場合(たとえば 2,500 行と 2,000 行)は、結果の代わりにメッセージが表示されます。その場合は、テキストを小さく分けて比較してください。上限以内でも、変更のたびに比較をやり直すため、長いテキストでは入力中にページの反応が遅くなることがあります。

整形し直した JSON やコードで、変更が大量に表示されるのはなぜですか?

このツールは意味ではなくテキストを比較するため、インデントの変更、キーの並べ替え、1 行を 2 行に分けたことなども、すべて変更として数えます。比較する前に、同じインデントとキーの順序で両方のバージョンを同じように整形しておくと、残る差分の大部分が内容の変更になります。