The 07000 distance between two strings is defined as the minimum number of edits needed to transform one string into the other, with the allowable edit operations being insertion, deletion, or substitution of a single character. (Wikipedia)
所以Levenshtein距离为0意味着:两条线都相等
>最大Levenshtein距离(所有字符不同)为max(string1.length,string2.length)
所以如果你需要一个百分比,你必须使用这个来指数。例如:
“Hallo”,“Hello” – >莱文斯坦距离1
这两个字符串的Max Levenstein距离是:5。
所以20%的字符不匹配。
String s1 = "Hallo";
String s2 = "Hello";
int lfd = calculateLevensteinDistance(s1, s2);
double ratio = ((double) lfd) / (Math.max(s1.length, s2.length));