Java:如何在字符串列表中找到最可能的字符串?

标签 java string soundex

我有一个 Java 字符串列表,其中包含拼写不同(并非完全不同)的人的名字。例如,John 可能拼写为 Jon、Jawn、Jaun 等。我应该如何在此列表中检索最合适的字符串。如果有人可以建议在这种情况下如何使用 Soundex 的方法,那将有很大帮助。

最佳答案

您使用了approximate string matching算法,有几种策略可以实现这个。 Blur 是一种基于 Levenshtein 词距离的近似字符串匹配的基于 Trie 的 Java 实现。

还有另一种策略来实现其称为 boyer-moore 近似字符串匹配算法。

使用该算法和 Levenshtein 词距离解决这些问题的通常方法是将输入与可能的输出进行比较,然后选择与所需输出的距离最小的输出。

关于Java:如何在字符串列表中找到最可能的字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12650409/

相关文章:

java - 智能 : move variables at method start

java - Json放心

C:分配给指针时数组的行为

php - 使用 soundex() 或 metaphone() 创建 Mad Gab 风格短语的算法

algorithm - 智能网络特征、算法(你可能关注的人,与你相似的人……)

java - 错误的结果 一旦我处理 try and catch

java - 我需要检查 Map 中是否已存在添加值并将值添加到 Map 中的整数列表

string - 如何高效地在字符串集合中找到指定长度的相同子串?

javascript - 在 JavaScript 中第 n 次出现正则表达式时分割字符串

php - 尝试使用 SOUNDEX 比较两个表