如何计算2个字符串的相似度
例如str1="abcd abcd";
str2="abcd abdc";
怎样计算这两个字符串的相似程度,谢谢…
[解决办法]
给你一个计算相似度的算法
- C# code
/// <summary>/// 获取两个字符串的相似度/// </summary>/// <param name=”sourceString”>第一个字符串</param>/// <param name=”str”>第二个字符串</param>/// <returns></returns>public static decimal GetSimilarityWith(this string sourceString, string str){decimal Kq = 2;decimal Kr = 1;decimal Ks = 1;char[] ss = sourceString.ToCharArray();char[] st = str.ToCharArray();//获取交集数量int q = ss.Intersect(st).Count();int s = ss.Length q;int r = st.Length q;return Kq * q / (Kq * q + Kr * r + Ks * s);}
[解决办法]
C#实现字符串相似度比较[Levenshtein Distance算法]