用于自由文本差异的 Java 库 [已关闭]

2022-09-02 13:02:50

我需要匹配两个几乎相同的长自由文本字符串;即,尽可能查找索引到索引的对应关系。

由于这是自由文本,因此比较不应像在代码比较中那样基于行。

对Java库有什么建议吗?

一个简单的例子(当然,在现实生活中,不会有额外的空格来排列事情,并且可能存在更复杂的挑战,例如整个子句移动。

The quick brown  fox jumped over the  lazy     dog.
||||||||||      |||||||||||||||||||||         |||||
The quick yellow fox jumped over the well-bred dog.

答案 1

这个可能是很好的差异匹配补丁


答案 2

根据您的确切要求,Apache Commons Lang组件的类可能会有所帮助,例如:StringUtils

  • StringUtils#difference:比较两个字符串,并返回它们不同的部分
  • StringUtils#getLevenshteinDistance:找到两个字符串之间的Levenshtein距离