Java:将差异计数作为 int 返回的字符串比较库?

标签 java comparison

是否存在允许我比较两个字符串并将差异字符数作为 int 的库或标准 API 调用?我不介意其他功能,只要我可以获得更具编程性的差异结果(例如 int),而不是仅输出整个人类可读差异的结果即可。

最佳答案

我想你想要的是 Leveshtein distance - 这告诉您将一个字符串转换为另一个字符串需要多少更改(插入、删除或替换)。

例如abcde之间的区别和 abcdef是 1,因为你插入了 fabcde 的最后一个位置之后得到abcdef .

abcde之间的区别和 abcdf也是 1,因为你替换了 e在第一个字符串中带有 f得到第二个。

abcde之间的区别和 abde是 1 因为你删除了 c在第一个字符串中获取第二个字符串。

可以在 Apache Commons Text 中找到一个很好的实现: LevenshteinDistance .

这里有一些 sample implementation in Java .

关于Java:将差异计数作为 int 返回的字符串比较库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2646918/

相关文章:

pdf - PDF 文件的视觉差异以确定像素完美度

mysql - 寻找相似的群体;包括差异和分数(是。类似的食谱)

java - 设置短值 Java

java - Linux下用Java写的如何创建带空格的文件夹?

java - Java 多级继承和 foreach 循环

java - 如何从另一个 Activity 访问在一个 Activity 中实例化并在其自己的线程中运行的对象?

ios - nsmutablearray.count和tableview indexpath.row之间的比较给出了奇怪的结果

JavaScript If/Else 条件和比较 - 差异

java - 使用轻量级 API 生成 Bouncy CaSTLe RSA key 对

javascript - (...()) 与 javascript 闭包中的 (...)()