利用c#怎么计算2个字符串的相似度

  介绍

利用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个字符串的相似度