Jaro-Winkler Distance

发现commons-lang 中有实现:

StringUtils.class

public static double getJaroWinklerDistance(final CharSequence first, final CharSequence second) {
final double DEFAULT_SCALING_FACTOR = 0.1;

if (first == null || second == null) {
throw new IllegalArgumentException("Strings must not be null");
}

final double jaro = score(first,second);
final int cl = commonPrefixLength(first, second);
final double matchScore = Math.round((jaro + (DEFAULT_SCALING_FACTOR * cl * (1.0 - jaro))) *100.0)/100.0;

return matchScore;
}
原文地址:https://www.cnblogs.com/lykm02/p/6023608.html