gpt4 book ai didi

Java库计算两个字符串之间的相对差异?

转载 作者:行者123 更新时间:2023-12-04 04:46:14 26 4
gpt4 key购买 nike

这个问题在这里已经有了答案:





Fuzzy string search library in Java [closed]

(8 个回答)


8年前关闭。




我正在寻找一种以编程方式检测两个字符串之间的增量比率的方法。我可以使用字符串长度,但这并没有为类似大小但不同的输入提供太多有用的信息。谷歌代码上有一个 java diff 工具 Java Diff Utils ,但它自 2011 年以来一直没有更新,我不需要实际修改字符串本身。

我正在尝试使用阈值进行更改检测,例如:更新的字符串与现有字符串有 42% 不同,您确定要继续吗?

有谁知道可以用于此目的的库,或者 java-diff-utils 是我唯一的选择吗?我在 apache commons 中找不到太多东西,谷歌搜索返回了不相关的信息。

最佳答案

您可以使用 Levenshtein Distance计算两个字符串之间有多少不同。那里有一些相当复杂的数学,但实际代码相当短。您可以轻松地用 Java 重写该 wiki 中的代码。

差异将以整数来衡量,表示将一个字符串变成另一个字符串需要采取多少步骤。一个步骤可以是一个字符的添加、删除或替换为另一个字符。它会告诉您它需要执行的步骤数量,但不会告诉您执行哪些步骤,也不会告诉您步骤的顺序。但话又说回来,由于您只想衡量总差异,我相信这足以满足您的需求。

编辑:其中一位评论者 (kaos) 提供了指向 an implementation of Levenshtein Distance in the Apache Commons. 的链接

关于Java库计算两个字符串之间的相对差异?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18126483/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com