CanDoYa
ZH-TW

文字比較線上工具

全程在瀏覽器裡執行,免上傳、免註冊。

原始文字
修改後文字
差異列: 0
將兩個版本的文字貼到左側和右側,即可逐行查看變更。
貼上兩段文字以逐行、逐字進行比較
新增: 0刪除: 0變更: 0未更動: 0
分享這個工具

文字比較工具是什麼?

文字比較工具將兩個版本的文字並排對照,並標示新增、刪除或變更的部分。這個工具在您的瀏覽器中完整執行 Myers diff 演算法(與 git 使用的最小編輯演算法相同):將原始文字貼到左側,新版本貼到右側,即可獲得並排視圖,包含行號、已變更行的詞語層級標示,以及新增、刪除和未更動行數的統計。

使用方式

  1. 1貼上原始文字. 將原始文字放入左側文字框。可以是一句話、一段文字或數千行 - diff 在瀏覽器中執行。
  2. 2貼上修改後的版本. 將新版本放入右側文字框。並排視圖會在您輸入時即時更新,顯示行號和已就地變更行的詞語標示。
  3. 3過濾雜訊. 若這些差異不重要,可切換「忽略大小寫」或「忽略空白」。使用「交換兩側」翻轉比較方向,或使用「複製為 patch」複製僅包含變更的統一 diff。

適合誰用

比較在您輸入時即時執行,且完全在裝置上進行 - 不上傳任何資料,因此適合用於未發布的草稿、合約、原始碼和 AI 提示詞。行級 diff 使用 Myers 演算法找出將左側文字轉換為右側文字所需的最小插入與刪除集合,與 git diff 的做法相同,因此標示會追蹤實際移動的內容,而不是從第一次編輯起就全部標紅。對於就地變更的行,第二次詞語層級分析會找出確切變更的詞語:刪除的內容加上刪除線,新增的內容則以綠色背景標示。

兩個切換開關可減少雜訊:忽略大小寫HelloHELLO 視為相同,忽略空白則忽略縮排變更、行尾空格和雙空格。按下交換兩側可在不重新輸入的情況下翻轉比較方向,或按複製為 patch以複製僅包含變更的統一 - / + patch。

常見問題

這個文字比較工具免費嗎?

是的 - 100% 免費,無需註冊,無字數限制。diff 在您的瀏覽器中本地執行,即使對很長的文字也保持快速。

我的文字會被上傳到任何地方嗎?

不會。兩段文字完全在您的瀏覽器中進行比對,從不觸及伺服器,因此適合用於未發布的草稿、合約、原始碼和機密的 AI 提示詞。

diff 如何判斷什麼發生了變化?

它使用 Myers 演算法計算將左側文字轉換為右側文字所需的最小編輯腳本。結果是一系列未更動、刪除和插入的行 - 與 git 使用的模型相同。相鄰的刪除/插入對被折疊成單一「已變更」列並排顯示,第二次詞語 diff 會找出已變更行中確切變化的詞語。

「忽略空白」實際上會忽略什麼?

它在比較每一行之前,將連續的空白縮減為一個空格,並去除前後的空白。因此多出的空行、縮排變更、或製表符與四個空格的差異都不會顯示為差異 - 詞語內部的變更仍然會被偵測到。

diff 能處理 Unicode、表情符號和非拉丁文字嗎?

可以。行級和詞語級 diff 都對 Unicode 字元進行操作,因此表情符號、中文、阿拉伯文和西里爾文都能正確比對。沒有特定語言的分詞處理 - 工具只是尋找匹配的字元。

可以比較大型文字嗎?

可以 - 這個工具能輕鬆處理數十萬個字元。對於異常龐大且完全不同的配對(兩側各有數百萬個字元),它會退回到粗略的「全部替換」diff,以保持頁面回應速度而不是讓頁面卡住。

「複製為 patch」會產生什麼?

一個簡單的統一格式 patch,每行有一個前綴字元:未更動行為空格,刪除行為 '-',新增行為 '+'。當您需要變更的緊湊文字記錄而非完整的並排視圖時,可將其貼到聊天室、議題或程式碼審查中。

為什麼兩段相同的文字仍然顯示列?

若切換開關關閉且文字逐位元組相同,結果面板會收合為「文字相同」訊息。開啟「忽略大小寫」或「忽略空白」後,位元組層級的文字可能有所不同,但比較仍報告無語義變更 - 訊息則會說明文字在所選規則下相同。