【问题标题】:diff text documents but ignore single character differences? Set a minimum edit distance filter?差异文本文档但忽略单个字符差异?设置最小编辑距离过滤器?
【发布时间】:2019-01-19 00:36:53
【问题描述】:

我有一本 txt 格式的大书的两个版本,我想比较它们以发现两个版本之间的显着变化,忽略单个字符的细微差异。

有很多 diffing 工具可以忽略空格差异,但我也想忽略小的错别字和单个或几个字符的差异。例如,本书的一个版本有数百次重复拼写错误leige,而在下一版本中将其更正为liege。一些专有名词也改变了它们的拼写。 (我可以为每个拼写错误定制解决方法,但想要更通用的)

由于我只关心更重要的多词差异,我真正想要的是设置一个过滤器,它忽略一行的更改,除非 Levenshtein 编辑距离高于某个阈值。

环顾我发现的所有差异/比较工具似乎都考虑了代码,因此它们缺少忽略小文本更改的任何功能。 Google 的 diff_match_patch 库非常适合区分纯文本和忽略空格更改 (demo here),但似乎没有开箱即用的方法来忽略单个字符的非空格差异。

tl;博士;是否有任何 diff 工具可以比较文本文档但过滤掉小的单个字符非空白差异?

【问题讨论】:

    标签: diff string-comparison plaintext beyondcompare google-diff-match-patch


    【解决方案1】:

    在 Beyond compare 中,您可以定义“替换”。

    一个例子: 差异标记为红色:

    然后你可以去 Session->Session Settings 设置一个替换:

    或者更简单:标记文本并立即定义替换:

    现在区别不重要并标记为蓝色:

    只需单击一下,您就可以忽略不重要的差异(屏幕截图中的红色箭头)。

    技术说明:我使用的是专业版的BC4。

    【讨论】:

      猜你喜欢
      • 2022-10-17
      • 2011-02-05
      • 1970-01-01
      • 2017-07-03
      • 2017-04-06
      • 1970-01-01
      • 1970-01-01
      • 2011-07-29
      • 1970-01-01
      相关资源
      最近更新 更多