问题标签 [google-diff-match-patch]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - 在 Angular 中使用 google-diff-match-patch
我想google diff/match/patch lib
在一个角度应用程序中使用 来显示两个文本之间的区别。
我的用法是这样的:
问题是,我如何导入diff_match_patch
这条线?
var dmp = new diff_match_patch();
google-diff-match-patch - 在生成补丁时忽略 Google Diff Match Patch 中的 EOL Unix 和 Windows
我正在尝试比较两个文本文件,一个是 Windows(CR\LF),另一个是 Unix(LF)。尽管文件大小字节不同,但在 Beyond Compare 等比较器工具中打开的两个文件都显示相同。有没有办法让 Google DMP 显示文件相等?
非常感谢任何帮助。谢谢你!
javascript - 使用 google 的差异匹配补丁库进行 html 字符串比较,方法是将 html 标签替换为 unicode 字符,但不适用于项目符号列表?
我正在使用 google 的 diff-match-patch 库进行 HTML 字符串比较,方法是将 HTML 标记替换为 Unicode 字符。我已按照以下链接进行实施: 是否有任何 javascript 库可用于为 HTML 创建一个漂亮的结构化(树)差异?
这是在没有损坏 HTML 标签的情况下呈现我的不同 HTML。但是,显示的差异是不准确的。主要是与项目符号列表进行比较时。请参阅随附的屏幕截图,该屏幕截图描述了项目符号列表的不准确差异 HTML
我需要帮助应用逻辑来处理项目符号列表。请在此处找到我的实现示例副本。此外,我在库的 diff_prettyHtml 方法中添加了一个正则表达式,以仅将文本包含在 <ins> 和 <del> 标记内
非常感谢解决此问题的任何帮助
先感谢您
xml - 在 diff-match-patch 中使用 diff 时如何排除日期?
我diff_match_patch
用来比较 XML 文件并将差异输出到一个 Beyond-Compare 中,例如 HTML 中的并排比较页面。但是,我正在比较的 XML 包含我希望比较忽略的日期。
例如:< creationDateTime >2021-07-05T18:51:26 </ creationDateTime >
这是一个示例,标签和日期格式可能会有所不同。
是否可以使用此插件排除日期和时间戳?
python - diff match patch python vs diff match patch c++ stl
对于 DMP python 版本和 c++ stl 使用 match_main() 对同一对文件进行比较,我得到了不同的结果,即从此链接使用:https ://github.com/leutloff/diff-match-patch-cpp-stl/tree /aee799a31d08977b166fb19cad794730717e3304 尝试对此进行排序。你能帮忙找出原因吗?
c# - 谷歌 DiffMatchPatch 到 NodeView
我一直在努力使用 XmlComparsion 功能。我必须比较两个 Xml 的差异,然后以 TreeView 的方式显示它们。
我做了一些研究,发现 Google Diff Match Patch 库看起来正是我的比较部分所需要的。
https://github.com/google/diff-match-patch
我已将其实现如下
现在,我需要一些帮助的最大挑战是将这种差异变成像对象一样的树视图。
我已经完成了一个树视图类,我在其中解析了比较使用的两个 Xml 文件
现在我想做的是确保来自 TreeView 的操作与来自 DIffMatchPatch 的操作结果相匹配,但我的问题是 DiffMatchPatch 将 Xml 比较为字符串并且根本不将 Xml 视为节点树。结果是 2 个简单的 Xml 书籍文件。
和
它会输出这个
在更“可读”的视图中看起来像这样
现在您可以看到,如果您有 2 个或更多节点差异,它们作为“孔差异”在内部“放置”在一起,这让我将其解析为类似树视图的对象非常棘手。
在这里您还可以看到 book997 是一本新书,但与 book103 的描述相同,它将考虑从 book 103 的描述开始并在 book997 的描述之前结束的“添加”文本。在某种程度上,我想将两个节点都更改为节点,但我不知道我可以使用什么来匹配特定的 TreeView 节点与差异的一部分或孔。
希望我说清楚了。我开始觉得我开始对 GoogleDiffMatchPatch 的需求非常错误,但在这一点上,我更难创建基于节点的自定义 xml 比较器。
编辑:还添加了从 XML 到 TreeView 的解析
添加了 git 存储库: https ://github.com/SebiCiuca/DiffMatchPatchToNodeView
java - 如何使用 diff_match_patch 计算两个文件之间的差异,例如 GitHub 的文件差异
我需要找到两个文件之间的逐行差异,并在两个文件的并排视图中显示输出,就像 GitHub 的文件差异部分中显示的那样。我为此目的使用以下库:
我正在使用以下逻辑逐行计算差异并将它们放入数组中,以便可以使用 javascript 在 HTML 中显示。我在这里所做的是,如果在两行之间发现差异,则搜索匹配行直到一个文件末尾的算法。如果有这样的情况,将在另一个文件之间插入一个空行,就像 GitHub 的文件差异中所做的那样,在两个文件之间添加或删除行。下面提到的算法一直工作到一个点,当行数增加时,它的行为很奇怪,循环运行了无数次。
是否有任何其他算法可满足我的要求,或者有什么方法可以解决我的问题?
c# - diff_match_patch 谷歌库在 C# 中没有按预期工作
java - 从差异补丁匹配中检索行号
我正在做一个比较两个大文本文件版本(大约 5000 多行文本)的项目。较新的版本包含潜在的新内容和已删除的内容。它旨在帮助检测文本版本的早期变化,因为团队从该文本中接收信息。
为了解决这个问题,我使用了diff-match-patch库,它允许我识别已删除的内容和新内容。在第一步中,我搜索更改。
然后我通过关键字 INSERT/DELETE 过滤列表以仅获取新/删除的内容。
但是,当我输出内容时,有时我只得到单个字母,例如 (o, contr, ler),而只删除/添加了单个字符。相反,我想输出发生变化的整个句子。有没有办法从发生更改的 DiffMatchPatch 中检索行号?