keentext
  1. 首頁
  2. 線上文字比對

線上文字比對

貼上原文和修改後的版本,就能看到每一行新增、刪除和修改的地方,改動的字詞會另外標示出來。

差異

新增 3刪除 3修改 0
1各位同仁好:1各位同仁好:
2 2
3本季業務檢討會訂於週五上午 10:00 舉行。3本季業務檢討會改到週四下午 2:00 舉行。
4請帶著各自的專案進度和待解決的問題。4請帶著各自的專案進度和待解決的問題。
5會議地點在 4 樓 B 會議室。5會議改成線上進行。
6會後會準備便當。6請在週三晚上前把簡報寄給我。
7 7
8謝謝!8謝謝!
9怡君9怡君
11 各位同仁好:
22
3−本季業務檢討會訂於週五上午 10:00 舉行。
3+本季業務檢討會改到週四下午 2:00 舉行。
44 請帶著各自的專案進度和待解決的問題。
5−會議地點在 4 樓 B 會議室。
6−會後會準備便當。
5+會議改成線上進行。
6+請在週三晚上前把簡報寄給我。
77
88 謝謝!
99 怡君

怎麼比較兩段文字

  1. 把原文貼在左邊,修改後的版本貼在右邊,也可以兩邊各開啟一個檔案。
  2. 比對結果會顯示在下方,並隨輸入即時更新。文字很長時,請按比對(或 Ctrl+Enter)。
  3. 先看摘要:新增、刪除和修改了幾行。在修改過的行裡,不同的字詞會被標亮。
  4. 可以在並排和合併檢視之間切換、對調左右兩邊,或把結果複製成修補檔格式。

怎麼看比對結果

  • 紅色的行只出現在原文,代表被刪掉了。綠色的行只出現在修改版,代表是新增的。
  • 修改的行兩邊都會顯示,改動的字詞用較深的顏色標出,改了一個日期、少了一個「不」字,一眼就看得到。
  • 並排把兩個版本左右排開,適合寬螢幕。合併只用一欄,用 − 和 + 標示各行,跟 Git 和大多數程式碼審查工具一樣;手機預設使用這種檢視。
  • 一大段沒有變動的行會收合起來,按「顯示未變動的行」就能展開。

比對是怎麼做的

本工具使用 Myers 差異演算法,也就是 Git 和 Unix diff 指令背後的概念,找出把原文變成修改版所需的最少行數改動。在每一組改動裡,它會依序把刪除的行和新增的行配對:如果一對行至少有 30% 相同,就顯示成一行「修改」,再逐字比較一次;否則就顯示成一次刪除加一次新增。中文詞與詞之間沒有空格,所以逐字比較時,兩個標點之間的一整段中文會被當成一個「詞」整段標出。

忽略空白把連續的空格和 Tab 當成一個空格,並忽略行首行尾的空格,只改了縮排時很好用。忽略大小寫把大寫和小寫字母視為相同。大量的比對會在瀏覽器的背景執行緒進行,所以就算是 1 萬行的檔案,頁面也不會卡住。

大家都拿它比對什麼

  • 報告、合約或規章的兩個版本,看看指導教授或編輯改了什麼。
  • 不同版本的程式碼或設定檔,不用打開終端機。
  • 匯出的名單,例如電子郵件地址或商品編號,找出哪些是新的。先用文字整理工具把兩份名單都排序,結果最清楚。
  • 譯文或字幕與上一版的對照。

常見問題

我的文字會上傳嗎?

不會。比對完全在你的瀏覽器裡進行,兩段文字都不會被儲存或傳到任何地方,所以合約、程式碼和個人文件都可以放心比對。

文字最長可以多長?

幾萬行都沒問題;運算在背景進行,頁面一直保持順暢。如果兩段這麼長的文字差異極大,會以較大的取代區塊顯示,而不是逐行顯示。

可以比對 Word 或 PDF 檔嗎?

沒辦法直接比對:請打開文件,複製裡面的文字再貼進來。.txt、.md、.csv、.json、.html 和程式碼這類純文字檔,可以用「開啟」按鈕開啟,或直接拖曳到文字框。

什麼是合併格式(unified diff)或修補檔?

一種記錄改動的標準文字格式,Git 和程式碼審查工具都在用:以 − 開頭的行是刪除的,以 + 開頭的行是新增的,@@ 開頭的行標示每處改動的位置。「複製為修補檔」就是把比對結果用這個格式複製下來。

為什麼有些行顯示成刪除加新增,而不是修改?

當兩行相同的部分不到大約 30% 時,標出改動的字詞幾乎會把整行都標亮,所以改成顯示一次刪除和一次新增。

「忽略空白」會忽略空行嗎?

不會。它把行內連續的空格和 Tab 當成一個空格,並忽略行首行尾的空格,但多一個空行還是算改動。