keentext
  1. 首页
  2. 在线文本对比

在线文本对比

粘贴原文和修改后的版本,就能看到每一处新增、删除和修改的行,改动的词语会单独标出。

不同之处

新增 3删除 3修改 0
1各位同事:1各位同事:
2 2
3本季度工作复盘会定于周五上午 10:00 召开。3本季度工作复盘会改到周四下午 14:00 召开。
4请带上各自的项目进展和待解决的问题。4请带上各自的项目进展和待解决的问题。
5会议地点在 4 楼 B 会议室。5会议改为线上进行。
6会后统一安排午餐。6请在周三晚上之前把 PPT 发给我。
7 7
8谢谢!8谢谢!
9小林9小林
11 各位同事:
22
3−本季度工作复盘会定于周五上午 10:00 召开。
3+本季度工作复盘会改到周四下午 14:00 召开。
44 请带上各自的项目进展和待解决的问题。
5−会议地点在 4 楼 B 会议室。
6−会后统一安排午餐。
5+会议改为线上进行。
6+请在周三晚上之前把 PPT 发给我。
77
88 谢谢!
99 小林

怎么比较两段文字

  1. 把原文粘贴在左边,修改后的版本粘贴在右边,也可以每边各打开一个文件。
  2. 对比结果显示在下方,随输入实时更新。文字特别长时,按对比(或 Ctrl+Enter)。
  3. 先看摘要:新增、删除和修改了多少行。在修改过的行里,具体不同的词会高亮显示。
  4. 可以在并排和合并视图之间切换,交换左右两边,或把结果复制成补丁格式。

怎么看对比结果

  • 红色的行只在原文里有,表示被删除了。绿色的行只在修改稿里有,表示是新增的。
  • 修改的行两边都会显示,改动的词用更深的颜色标出,改了一个日期、漏了一个「不」字,一眼就能看到。
  • 并排把两个版本左右排开,适合宽屏。合并只用一栏,以 − 和 + 标记各行,和 Git 以及大多数代码审查工具一样;手机上默认使用这种视图。
  • 大段没有变化的行会折叠起来,点「显示未改动的行」即可展开。

对比是怎么做的

本工具使用 Myers 差异算法,也就是 Git 和 Unix diff 命令背后的思路,找出把原文变成修改稿所需的最少行改动。在每一组改动里,它按顺序把删除的行和新增的行配对:如果一对行至少有 30% 相同,就显示为一行「修改」,再逐词比较一遍;否则显示为一次删除加一次新增。中文词与词之间没有空格,所以逐词比较时,两个标点之间的一整段中文会被当成一个「词」整体标出。

忽略空白把连续的空格和制表符当成一个空格,并忽略行首行尾的空格,只改了缩进时很有用。忽略大小写把大写和小写字母视为相同。大量的比较会在浏览器的后台线程里运行,所以即使是 1 万行的文件也不会让页面卡住。

大家都拿它比较什么

  • 论文、合同或规章的两个版本,看看导师或编辑改了什么。
  • 不同版本的代码或配置文件,不用打开终端。
  • 导出的名单,比如邮箱地址或商品编码,找出哪些是新增的。先用文本清理工具把两份名单都排好序,结果最清楚。
  • 译文或字幕和上一版的对照。

常见问题

我的文字会上传吗?

不会。对比完全在你的浏览器里完成,两段文字都不会被保存或发送到任何地方,所以合同、代码和个人文件都可以放心比较。

文字最多能有多长?

几万行都没问题;计算在后台进行,页面一直保持流畅。如果两段这么长的文字差别极大,会以较大的替换块显示,而不是逐行显示。

能比较 Word 或 PDF 文件吗?

不能直接比较:请打开文档,复制里面的文字再粘贴进来。.txt、.md、.csv、.json、.html 和代码文件这类纯文本文件,可以用「打开」按钮打开,或直接拖进文本框。

什么是合并格式(unified diff)或补丁?

一种记录改动的标准文本格式,Git 和代码审查工具都在用:以 − 开头的行是删除的,以 + 开头的行是新增的,@@ 开头的行标明每处改动的位置。「复制为补丁」就是把对比结果按这个格式复制。

为什么有的行显示成删除加新增,而不是修改?

当两行的相同部分不到大约 30% 时,标出改动的词几乎会把整行都高亮,所以改为显示一次删除和一次新增。

「忽略空白」会忽略空行吗?

不会。它把行内连续的空格和制表符当成一个空格,并忽略行首行尾的空格,但多出一个空行仍然算作改动。