文字行差異比對

文字行差異比對

按行比對兩段文字,標出新增 / 刪除 / 相同

瀏覽器本地計算

左側放舊文本,右側放新文本;減號表示左側刪除,加號表示右側新增。每側最多支持 2000 行。

 
–

範例

輸入

左側:alpha
beta
右側:alpha
gamma

示例結果

  alpha
- beta
+ gamma

減號來自左側舊內容,加號來自右側新內容。

技術細節與邊界

採用最長公共子序列(LCS)對齊行,時間與內存隨兩側行數乘積增長,因此每側限制 2000 行。它不識別語義等價、移動塊或 JSON 字段重排;一行被修改通常顯示為刪除舊行並增加新行。

關於此工具

逐行比較兩段文本,用增加、刪除與保留標記展示差異。可忽略大小寫或行尾空白,適合檢查配置修改、接口樣本和文字版本;比較在瀏覽器完成。

適用場景

  • 快速看兩份設定的差別。
  • 比對兩次日誌輸出,找到新增的錯誤。

操作步驟

  1. 在左右兩個輸入框分別放要比對的文字。
  2. 結果下方按行顯示 diff;可調整比較策略。

注意事項

本工具做的是行級 diff,不是逐字元 diff;相似但不完全相同的行會被判為不同。

常見問題

在線文本對比最多支持多少行?
本工具逐行對比時每側最多支持2000行,以限制最長公共子序列計算的開銷。兩側各2000行時,行數乘積為4000000;較大文件應拆分比較,結果不提供語義等價判斷或移動代碼塊識別。
文本對比修改一行為甚麼顯示刪除和新增?
逐行文本對比通常把修改表示為刪除舊行並新增新行。例如左側1行a變成右側1行b,會顯示1次刪除和1次新增;這表示兩行文本不同,不代表應用實際執行了兩次寫入或文件操作。
JSON 字段順序不同能用文本對比判斷一致嗎?
文本對比不能判斷JSON字段重排後的語義是否一致,只比較行文本。比如包含a與b的2個字段交換順序,即使值仍是1和2也可能顯示差異;需要語義比較時,應先用適當規則規範化數據。

相關工具

文字行差異比對 · 按行比對兩段文字,標出新增 / 刪除 / 相同
文字行差異比對 — 工具示意圖 · dayeku.com