基本上我只是想找到一种方法来找到String
例如,在"delicous"
{"pie", "delicious", "test"}
这很明显,但数组中的值可能并不总是那么明显。
有人可以帮助我找到实现这个目标的方法。
答案 0 :(得分:17)
取决于您如何定义“最接近”,但一种常见方式是使用Levenshtein Distance分数。 Apache Commons有这样的a method in StringUtils。
从那里你的搜索方法基本上变成:在集合中找到给定输入具有最小Levenshtein距离的字符串。
答案 1 :(得分:2)
Java没有内置任何东西。您可以尝试使用SecondString或FREJ等第三方库。
答案 2 :(得分:2)
可以与Levenshtein Distance一起使用的另一种方法是首先采用单词的语音表示。一种算法是Metaphone。
user guide for Apache Commons Codec详细介绍了这个和其他一些编码器。