我有一个 Java 字符串列表,其中包含拼写不同(并非完全不同)的人的名字。例如,John 可能拼写为 Jon、Jawn、Jaun 等。我应该如何在此列表中检索最合适的字符串。如果有人可以建议在这种情况下如何使用 Soundex 的方法,那将有很大帮助。
最佳答案
您使用了approximate string matching算法,有几种策略可以实现这个。 Blur 是一种基于 Levenshtein 词距离的近似字符串匹配的基于 Trie 的 Java 实现。
还有另一种策略来实现其称为 boyer-moore 近似字符串匹配算法。
使用该算法和 Levenshtein 词距离解决这些问题的通常方法是将输入与可能的输出进行比较,然后选择与所需输出的距离最小的输出。
关于Java:如何在字符串列表中找到最可能的字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12650409/