跳到正文
SPCXTools

文本差异对比

粘贴两个版本的文本,立即查看添加、删除或更改的内容。

本地运行——文件不会离开你的设备

正在加载工具…

如何使用文本差异对比

  1. 1将旧版本粘贴到 原始文本 框,新版本粘贴到 修改后文本 框。
  2. 2选择比较模式 — 按行 适用于代码和列表,按单词 适用于文章,按字符 适用于微小编辑。
  3. 3查看结果 — 新增内容为绿色,删除内容为红色,摘要中会统计两者的数量。
  4. 4可选择忽略字母大小写差异,或在按行比较时忽略空白字符。使用 交换 按钮来反转比较方向。

并排比较两段文本

当一份文档经过多次修订后,很难看出具体发生了哪些变化。这款差异对比工具可以比较两个版本,并高亮显示所有不同之处:绿色表示新增的文本,红色表示删除的文本。您可以选择按行、按单词或按字符进行比较,并可选择忽略大小写或空白字符。比较过程完全在您的浏览器中运行,因此您可以放心地检查合同、代码和机密文件。

功能特性

  • 三种对比粒度:按行(为两个版本都显示行号)、按单词和按单个字符。
  • 忽略大小写和忽略空白字符选项,以隐藏不重要的差异。
  • 差异摘要统计,显示新增和删除的数量,并在文本相同时给出明确提示。
  • 交换按钮,可反转作为原始文本的比较方。
  • 无大小限制或上传:长文档也在本地进行比较。

常见用途

合同与政策。 在签署修订后的协议前,精确检查对方修改了哪些内容。按单词模式可以高亮显示长条款中被更改的术语。

代码与配置。 无需设置版本控制,即可比较两个版本的函数、一个 .env 文件或服务器配置。带行号的按行模式看起来就像熟悉的代码审查差异对比。

写作与编辑。 查看编辑或语法工具对您的文章所做的修改,或比较译文与其修订版。

数据与列表。 粘贴两次导出的数据,以查找被添加或删除的行。对于 JSON 数据,请先使用 JSON 格式化工具(并对键进行排序)来格式化两边的文本,这样比较就能专注于真正的差异。

差异对比原理

差异对比算法会寻找最长公共子序列——即两个版本按相同顺序共享的最大文本量——然后将其他所有内容报告为插入或删除。本工具使用 Myers 算法,该算法与 Git 和大多数代码审查工具使用的算法同属一类。因为它寻找的是最小的编辑集,所以移动一个段落会显示为一次删除和一次插入,而不是一次“移动”。

如果您只想从列表中删除重复的条目,请改用删除重复行工具。

常见问题

我的文本会被上传到服务器进行比较吗?
不会。比较过程完全在您的浏览器中使用 JavaScript 差异算法运行,因此合同、源代码和私密文件等数据会保留在您的设备上。
我应该使用哪种比较模式?
对于源代码、配置文件、CSV 数据和列表,请使用 按行 模式 — 它会像代码审查一样显示带行号的差异。对于文章、论文和法律文本,请使用 按单词 模式,因为长段落中某个单词的更改很重要。对于发现拼写错误、标点符号更改和单词内的微小编辑,请使用 按字符 模式。
忽略空白字符有什么作用?
在按行模式下,如果两行仅在空格或制表符(例如缩进更改)上有所不同,则会将其视作相同。这在比较被重新格式化过的代码时非常有用。
差异是如何计算的?
本工具使用 Myers 差异算法(与 Git 使用的方法相同),该算法能找出将原始文本转换为修改后文本所需的最少插入和删除操作集。
可以比较文件吗?
在任何文本编辑器中打开文件,复制其内容并粘贴到两个文本框中。任何纯文本格式都支持,包括代码、JSON、CSV、Markdown 和 HTML。
为什么在按行模式下,整个段落都显示为已更改?
在按行模式下,比较的基本单位是整行,而一个段落通常就是很长的一行。请切换到 按单词 模式,以精确查看段落内部哪些单词发生了变化。