首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

怎么计算2个字符串的相似度

2012-09-10 
如何计算2个字符串的相似度例如str1abcd abcdstr2abcd abdc怎样计算这两个字符串的相似程度,谢谢…

如何计算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算法]

热点排行