两个字符串之间的Levenshtein距离定义为将一个字符串转换为另一个字符串所需的最小编辑次数,允许的编辑操作为单个字符的插入,删除或替换。(维基百科)
- 因此,Levenshtein距离为0意味着:两个字符串相等
- Levenshtein的最大距离(所有字符不同)为max(string1.length,string2.length)
因此,如果需要一个百分比,则必须使用该百分比来缩放。例如:
“ Hallo”,“ Hello”-> Levenstein距离1这两个字符串的最大Levenstein距离为:5.因此20%的字符不匹配。
String s1 = "Hallo";String s2 = "Hello";int lfd = calculateLevensteinDistance(s1, s2);double ratio = ((double) lfd) / (Math.max(s1.length, s2.length));



