Oh MyUtils

Diff对比工具 - 文本比较和差异查找 在线

并排比较两段文本,逐行高亮差异。支持统一视图和分割视图,字符级差异比较。

视图
差异模式
选项
原始
修改后
输出
无差异

常见问题

什么是差异检查器?

差异检查器是一种比较两个文本并突出显示它们之间差异的工具。它显示添加(新内容)、删除(已删除内容)和修改。它对于代码审查、文档编辑、配置调试和版本比较至关重要。

diff算法是如何工作的?

diff算法使用最长公共子序列(LCS)方法来找到两个文本之间的最佳更改集。它识别出现在两个文本中的最长字符或行序列,然后将其他所有内容标记为添加或删除。

并排视图和统一视图有什么区别?

并排视图在平行列中显示两个文本,便于比较相应的行。统一视图使用+和-前缀将两个文本合并到单个列中,类似于Git diff输出。并排视图更适合视觉比较,而统一视图更紧凑。

行、词和字符diff模式是什么?

行模式逐行比较文本 - 如果行的任何部分发生变化,整行都会被标记。词模式突出显示行内的单个词变化。字符模式显示最精细的差异,突出显示每个更改的字符。代码使用行模式,散文使用词模式。

使用此工具时我的数据安全吗?

是的,所有处理都100%在您的浏览器中进行。您的文本永远不会发送到任何服务器。您可以安全地比较敏感文档、代码或机密信息,无需担心隐私问题。

代码示例

import { diffLines, diffWords } from 'diff';

const original = 'Hello World';
const modified = 'Hello JavaScript World';

// Line diff
const lineDiff = diffLines(original, modified);
lineDiff.forEach(part => {
  const prefix = part.added ? '+' : part.removed ? '-' : ' ';
  console.log(prefix, part.value);
});

// Word diff
const wordDiff = diffWords(original, modified);
wordDiff.forEach(part => {
  if (part.added) console.log('Added:', part.value);
  if (part.removed) console.log('Removed:', part.value);
});

相关工具