介绍
利用c#怎么计算2个字符串的相似度?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。
计算字符串相似度,直接来c#代码
, public static float levenshtein (string str1, string str2) {才能 ,,//计算两个字符串的长度又是; ,,int len1 =, str1.Length; ,,int len2 =, str2.Length; ,,//建立上面说的数组,比字符长度大一个空间, ,,int [,], dif =, new int [+ len1 1, len2 +, 1]; ,,//赋初值,步骤B只 ,,for (int a =, 0;, a & lt;=, len1;, + +) ,,{ ,,,dif [,, 0],=,, ,,} ,,for (int a =, 0;, a & lt;=, len2;, + +) ,,{ ,,,dif [0,,],=,, ,,} ,,//计算两个字符是否一样,计算左上的值, ,,int 温度; ,,for (int 小姐:=,1;,小姐:& lt;=, len1;,我+ +) ,,{ ,,,for (int j =, 1,, j & lt;=, len2;, j + +) ,,,{ ,,,,if (str1[小姐,安康;1],==,str2 [j 作用;1]) ,,,,{ ,,,,,temp =, 0; ,,,,} ,,,, ,,,,{ ,,,,,temp =, 1; ,,,,} ,,,,//取三个值中最小的, ,,,,dif (i, j),=, Math.Min (Math.Min (dif[小姐:安康;1,j 作用;1],+,临时,,dif[我,j 作用;1],+,- 1),,dif[小姐:安康;1,j], +, 1); ,,,} ,,} ,,Console.WriteLine(“字符串\““,+,str1 +,“\“与\““,+,str2 +,“\“的比较“); ,,//取数组右下角的值,同样不同位置代表不同字符串的比较, ,,Console.WriteLine(“差异步骤:“,+,dif [len2 len1也]); ,,//计算相似度, ,,float similarity =, 1,安康;(浮动)dif [len1, len2],/, Math.Max (str2.Length str1.Length也); ,,Console.WriteLine(“相似度:“,+,相似性); ,,return 相似性; 以前,,}>关于利用c#怎么计算2个字符串的相似度问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注行业资讯频道了解更多相关知识。
利用c#怎么计算2个字符串的相似度