文本差异对比工具

下一步:修改后的文本

要找出合同两个版本之间改动的三个词、CSV导出文件中多出的一个逗号,或者配置文件中究竟改了什么,在超过数百行的文本里,仅凭肉眼根本无法完成。粘贴两个文本版本,该差异对比工具便会用绿色标示新增内容、红色标示删除内容,并高亮标出同一行内改动的字词。

差异是如何生成的

  1. 1

    粘贴两个版本

    先粘贴原始文本,再粘贴要与之比较的修改后文本。

  2. 2

    该工具运行 Myers 差异算法

    与 Git 所用的算法相同,可生成最少的编辑序列。

  3. 3

    逐行对齐

    未改动的行保持左右相邻;插入或删除的行会在另一侧留出空白。

  4. 4

    行内高亮

    在改动的行中,只有变化的字词会被高亮,便于您准确看到具体改了什么。

差异颜色含义

颜色 含义
红色 删除:该行只在原始文本中
绿色 新增:该行只在修改后的文本中
较深的红色或绿色 已编辑行中改动的字词
白色 未更改(上下文)

常见用例

  • 合同修订条款:签署前请仔细核对协议第3版与第4版之间的具体变更内容。
  • 配置文件审核,在部署到生产环境前,验证团队成员对 nginx.conf 文件所做的修改。
  • 翻译质量检查,对同一字符串的两个译文版本进行比对,以识别缺失的标点符号。
  • CSV导出对比,标出上周与本周数据导出结果中存在差异的行。
  • 无需 Git 的代码审查,在无需搭建代码仓库的情况下,可快速进行一次性比对。

获得干净差异的小贴士

  • 换行符的差异不算作改动。 Windows(CRLF)与 Unix 或 macOS(LF)的换行符按相同处理,因此无需事先转换。
  • 在比较前需清除所有末尾空格;否则不可见的空格会被识别为编辑内容。
  • 对于 JSON 或 YAML,请先使用相同的缩进格式进行排版。重新格式化会掩盖实际修改内容。
  • 若需比较顺序无关的两个列表(如依赖关系),请按字母顺序排序。

基于行的差异分析的局限性

逐行对比非常适合代码和配置文件;用于文章类文字时效果则一般:把一句话往后挪两段,会显示为一次删除加一次插入,而不是一次移动。编辑书稿时,按词或按句对比的结果更清晰。

常见问题

适用。无论哪种语言或文字,文本都按行进行比较,因此中文、日文、阿拉伯文、泰文、带重音符号的字母和表情符号都能正常比较。在已编辑的行中会标出改动的词语;中文、日文和泰文的词与词之间不用空格分隔,因此会改为标出改动的字符。

每段文本最多 20,000 行、500,000 个字符。超出这一限制,或两段长文本差异太大而无法逐行比较时,工具会显示提示信息,而不会让页面卡死:请从每段文本中取较小的一部分进行比较,或使用 git diff 或电脑上的差异比较软件。比较结果超过 5,000 行时,页面只显示前 5,000 行,但您复制的 unified diff 仍包含全部更改。

启用“忽略空白”选项,可跳过仅由缩进或末尾空格引起的差异。适用于格式化工具(如 Prettier、Black)生成的无关干扰信息。

不会。两段文本只保留在您的浏览器中:比较在此页面上完成,不会发送到我们的服务器,也不会添加到页面链接中。在各步骤之间,它们只保存在当前浏览器标签页中,直到您关闭该标签页或选择“重新开始”。

相关工具

此工具还提供其他语言版本