是否存在允许我比较两个字符串并将差异字符数作为 int 的库或标准 API 调用?我不介意其他功能,只要我可以获得更具编程性的差异结果(例如 int),而不是仅输出整个人类可读差异的结果即可。
最佳答案
我想你想要的是 Leveshtein distance - 这告诉您将一个字符串转换为另一个字符串需要多少更改(插入、删除或替换)。
例如abcde
之间的区别和 abcdef
是 1,因为你插入了 f
在 abcde
的最后一个位置之后得到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/