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);
});