java - 检查一个字符串在 Java 中听起来有多像另一个字符串

标签 java string

我想知道 Java 中是否有任何类能够使用自己的标准检查一个字符串与另一个字符串的相等程度。 示例:

  • William Shakespeare/William Shakespeare:可能是 100%
  • William Shakespe**a**re/William Shakespe**e**re :可能超过 90%
  • William Shakespeare/Shakespeare, William:可能有 70% 以上(仅示例)

最佳答案

我看到两个主要候选人:

  • Soundex编码,由 Apache Commons 实现.但是,请注意,它主要用于单个、相对较短的单词。它不会在您的第三个示例中找到相似之处。此外,它实际上只适用于英文单词。
  • Levenshtein distance (再次在 Apache Commons 实现)。这是与语言无关的,但是与第三个示例中的切换部分的相似度相对较低(更像是 40%)。类似 Damerau–Levenshtein distance 的修改可能会产生更好的结果。

关于java - 检查一个字符串在 Java 中听起来有多像另一个字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2461120/

相关文章:

java - 弱引用和软引用

java - Vertx & HK2 - 启动应用程序(依赖注入(inject))

java - 如何使用 servlet 创建 html 页面

Java:如何取出字符串中的一个字母,同时打印字符串中的其余字母

java - 代理设计模式-tutorialspoint.com 示例

java - Java 2D 图形中的 "Screen"效果

php - 如何处理内联PHP外文字符?

javascript - Javascript 中的正则表达式替换

string - 在Lua中分割字符串并打印选定的键

javascript - 使用javascript在两端 trim 字符串