C#计算2个字符串的相似度
计算字符串相似度,直接来C#代码
publicstaticfloatlevenshtein(stringstr1,stringstr2) { //计算两个字符串的长度。 intlen1=str1.Length; intlen2=str2.Length; //建立上面说的数组,比字符长度大一个空间 int[,]dif=newint[len1+1,len2+1]; //赋初值,步骤B。 for(inta=0;a<=len1;a++) { dif[a,0]=a; } for(inta=0;a<=len2;a++) { dif[0,a]=a; } //计算两个字符是否一样,计算左上的值 inttemp; for(inti=1;i<=len1;i++) { for(intj=1;j<=len2;j++) { if(str1[i-1]==str2[j-1]) { temp=0; } else { temp=1; } //取三个值中最小的 dif[i,j]=Math.Min(Math.Min(dif[i-1,j-1]+temp,dif[i,j-1]+1),dif[i-1,j]+1); } } Console.WriteLine("字符串\""+str1+"\"与\""+str2+"\"的比较"); //取数组右下角的值,同样不同位置代表不同字符串的比较 Console.WriteLine("差异步骤:"+dif[len1,len2]); //计算相似度 floatsimilarity=1-(float)dif[len1,len2]/Math.Max(str1.Length,str2.Length); Console.WriteLine("相似度:"+similarity); returnsimilarity; }
返回结果就是相似度了,验证码识别上用的到
爱给模板网提供
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。