文字比對

把修改前與修改後的文字分別貼上,立即標出哪幾行被新增、刪除或修改,連行內改了哪幾個字都看得清楚。

行內差異
檢視方式
0新增行
0刪除行
0相同行

在上方兩個欄位貼上文字,差異會自動標示在這裡。

如何使用文字比對

  1. 把舊版本貼到「原始文字」,新版本貼到「修改後文字」。
  2. 下方會自動顯示差異:紅色是刪除,綠色是新增,深色標記是行內實際改動的字詞。
  3. 需要時勾選「忽略空白差異」或「忽略大小寫」,並在「行內差異」選擇以字詞或字元標示。
  4. 用「檢視方式」切換左右並排或單欄;內容很長時保留「隱藏相同的行」,只看改動附近的段落。

文字比對的原理

本工具採用 Eugene Myers 於 1986 年發表的差異演算法,Git 預設的 diff 也是使用這個方法。它會找出把舊版本變成新版本所需的「最少新增與刪除行數」,因此結果通常就是人眼認為最合理的改動範圍,不會因為中間插入一行,就把後面整段都標成不同。

一行內容被修改時,演算法會把它視為「刪除舊行、新增新行」,所以統計中的新增行與刪除行都會各算一次,這和 Git 的計算方式一致。為了方便閱讀,畫面會把相對應的舊行與新行放在同一列,再對這兩行做第二次比對,標出實際改動的字詞或字元,一眼就能看出改了哪裡。

字詞與字元標示怎麼選?

「字詞」模式把英文以單字為單位、中文以單一漢字為單位比較,適合文章校稿、新聞稿與合約修訂,結果最容易閱讀。「字元」模式逐字比較,連英文單字中改了一個字母(例如 color 與 colour)都能精準標出,適合檢查程式碼、網址、序號與帳號這類一個字都不能錯的內容。

如果兩行幾乎完全改寫,行內標示會變得零碎、反而難以閱讀,這時可以把「行內差異」切到「關閉」,只用整行的紅綠底色判斷哪些行被刪除、哪些行是新加的。內容很長時,保留「隱藏相同的行」只會顯示改動前後各三行,其餘相同的段落會收合成一列提示,捲動起來更省力。

忽略空白與大小寫的使用時機

從 Word、PDF 或網頁複製的文字,常夾帶多餘的空格、Tab 或行尾空白,造成大量無意義的差異。勾選「忽略空白差異」後,每行開頭與結尾的空白會被忽略,中間連續的空白也視為一個,只留下真正的內容改動,比對排版不同但內容相同的兩份文件時特別有用。

「忽略大小寫」適合比對網址、電子郵件、主機名稱或 SQL 關鍵字這類大小寫不影響意義的內容。比對程式碼時則要小心:在 Python 或 YAML 中縮排本身就有意義,多數程式語言的變數名稱也區分大小寫,這時建議兩個選項都不要勾選,才不會漏掉真正會造成錯誤的改動。

資料安全與效能

合約、報價單、報告與原始碼常含有機密內容,不適合貼到會上傳資料的網站。本工具的比對完全在你的瀏覽器中執行,貼上的文字不會傳送到任何伺服器,也不會被儲存,關閉頁面後內容就會消失。一般電腦上比對數千行的文件通常不到一秒,改動越少、速度越快,手機上也能順利使用。

常見問題

怎麼比較兩份文件哪裡不一樣?

把兩份文件的文字分別貼到「原始文字」與「修改後文字」,工具會自動逐行比對,紅色為刪除、綠色為新增,行內改動的字詞會再加深標示。

可以直接比對 Word 或 PDF 檔嗎?

目前需要先把文件內容複製後貼上。PDF 複製出來的文字常有斷行與多餘空白,建議勾選「忽略空白差異」減少干擾。

為什麼只改了一個字,新增和刪除都各算一行?

以行為單位比對時,被修改的行等於「刪除舊行、加入新行」,這和 Git 等版本控制工具的計算方式相同。實際改動的字會在行內標示出來。

比對的內容會被上傳嗎?

不會。所有計算都在瀏覽器中完成,文字不會離開你的裝置,適合比對合約、報價單或原始碼等機密資料。

手機上可以用嗎?

可以。手機上預設以單欄顯示,刪除的行在上、新增的行在下;需要時也能切換成左右並排並左右滑動查看。

最後更新: