8

Commons Lang apiを使用すると、 LevensteinDistanceを介して2つの文字列間の類似性を計算できます。結果は、ある文字列を別の文字列に変更するために必要な変更の数です。結果が0から1の範囲内にあるといいのですが、文字列間の類似性を識別しやすくなります。結果は0に近い大きな類似性になります。出来ますか?

私が使用している例の下に:

public class TesteLevenstein {

    public static void main(String[] args) {      

        int distance1 = StringUtils.getLevenshteinDistance("Boat", "Coat");
        int distance2 = StringUtils.getLevenshteinDistance("Remember", "Alamo");
        int distance3 = StringUtils.getLevenshteinDistance("Steve", "Stereo");

        System.out.println("distance(Boat, Coat): " + distance1);
        System.out.println("distance(Remember, Alamo): " + distance2);
        System.out.println("distance(Steve, Stereo): " + distance3);        

    }
}

ありがとう!

4

1 に答える 1

11

いくつかの数で割るだけです。問題は何番ですか?おそらく、与えられた弦のペアの可能な最大距離。これが長い文字列の長さだと思います(つまり、短い文字列と比較して、すべての文字が異なり、さらにいくつかの文字が追加されています)。

于 2011-07-08T20:00:10.113 に答える