📋 文本比较

逐行对比两段文本,高亮显示差异

📊 比较结果

新增 删除 未变
请输入两段文本并点击"比较"

什么是文本比较?

文本比较(Text Diff / Text Compare)是指对两段文本进行逐行对比,找出它们之间的差异——哪些行被新增、哪些行被删除、哪些行保持不变。这是软件开发、文档管理、版本控制中最基础也最重要的操作之一。Litekithub 的文本比较工具基于经典的最长公共子序列(LCS)算法,能够高效地计算并高亮显示两段文本的差异。

核心算法:最长公共子序列(LCS)

本工具底层使用经典的LCS 动态规划算法来计算文本差异。算法原理如下:

  1. 分行动态规划:将两段文本按行拆分,构建一个 (m+1)×(n+1) 的 DP 表格,m 和 n 分别是两段文本的行数。
  2. LCS 推导:通过动态规划计算最长公共子序列的长度矩阵。如果两行内容相同,dp[i][j]=dp[i-1][j-1]+1;否则取 dp[i-1][j] 和 dp[i][j-1] 的较大值。
  3. 回溯生成差异:从 DP 表格的右下角回溯到左上角,沿途标记每行是"未变"、"新增"还是"删除"。
  4. 格式化呈现:将回溯结果以清晰的双栏表格形式展示,绿色背景标识新增行,红色背景标识删除行。

这种基于 LCS 的方法产生的 diff 结果是最优差异对比,能够最小化新增和删除的行数,最大程度上识别重复使用的内容。

功能详解

逐行差异对比

工具将两段文本按行拆分后进行逐行比较。使用 LCS 算法精确识别每一行在原始文本和修改后文本之间的对应关系。结果以双栏行号表格呈现,左侧显示原始文本行号,右侧显示修改后文本行号,方便快速定位。

可视化颜色编码

差异结果采用直观的颜色编码方案:

  • 🟢 绿色行:标记为"新增"——这些行仅存在于修改后的文本中。
  • 🔴 红色行:标记为"删除"——这些行仅存在于原始文本中。
  • ⚪ 白色行:标记为"未变"——这些行在两段文本中都存在且内容相同。

统计摘要

每次比较后,工具会在结果顶部显示统计摘要,包括新增行数、删除行数和未变更行数。这让你可以快速了解两段文本的总体差异程度。

交换功能

一键交换原始文本和修改后文本的位置,同时自动重新执行比较。这在需要从另一个方向查看差异时非常方便——例如将"旧→新"比较切换为"新→旧"比较。

快捷键支持

支持 Ctrl+Enter 快捷键快速触发比较,让你在双手不离开键盘的情况下快速完成文本对比。

典型应用场景

  • 代码审查(Code Review):比较代码的修改前后版本,快速识别变更内容。
  • 文档版本对比:查看文章、合同、协议的修改痕迹。
  • 配置文件变更追踪:对比服务器配置文件的不同版本。
  • 翻译校对:对比原文和译文的结构差异。
  • 数据对比:比较 CSV、日志文件等结构化文本的变化。

为什么选择 Litekithub 文本比较工具?

Litekithub 的在线文本比较工具具有以下优势:

  • 经典 LCS 算法:基于动态规划的最长公共子序列算法,产生最优差异对比结果。
  • 双栏对比视图:清晰的行号标记和颜色区分,差异一目了然。
  • 100% 本地处理:所有文本在浏览器本地处理,不会上传到任何服务器,保障数据安全。
  • 即开即用:无需安装任何软件,打开浏览器就能使用。
  • 预载示例:页面启动时自动加载代码示例,方便快速体验功能。

无需注册,无需安装,完全免费。是每个开发者、文档作者和数据分析师的必备工具箱。