C#计算2个字符串的相似度

发布时间 - 2026-01-11 01:42:47    点击率:

计算字符串相似度,直接来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 <= len1; a++)
   {
    dif[a, 0] = a;
   }
   for (int a = 0; a <= len2; a++)
   {
    dif[0, a] = a;
   }
   //计算两个字符是否一样,计算左上的值 
   int temp;
   for (int i = 1; i <= len1; i++)
   {
    for (int j = 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]);
   //计算相似度 
   float similarity = 1 - (float)dif[len1, len2] / Math.Max(str1.Length, str2.Length);
   Console.WriteLine("相似度:" + similarity);
   return similarity;
  }

返回结果就是相似度了,验证码识别上用的到

爱给模板网提供

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# C#计算字符串相似度  # C#字符串相似度  # C#字符串相似度对比  # C#实现的字符串相似度对比类  # C#和SQL实现的字符串相似度计算代码分享  # 验证码  # 大家多多  # string  # levenshtein  # int  # float  # brush  # class  # pre  # static  # public  # csharp  # similarity  # WriteLine  # Console  # br  # return  # Max  # Min  # dif 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 如何为不同团队 ID 动态生成多个独立按钮  Laravel如何为API编写文档_Laravel API文档生成与维护方法  阿里云高弹*务器配置方案|支持分布式架构与多节点部署  HTML透明颜色代码怎么让下拉菜单透明_下拉菜单透明背景指南【技巧】  jquery插件bootstrapValidator表单验证详解  购物网站制作费用多少,开办网上购物网站,需要办理哪些手续?  Win11怎么更改系统语言为中文_Windows11安装语言包并设为显示语言  南京网站制作费用,南京远驱官方网站?  ,怎么在广州志愿者网站注册?  详解Android图表 MPAndroidChart折线图  Python自动化办公教程_ExcelWordPDF批量处理案例  Python图片处理进阶教程_Pillow滤镜与图像增强  电商网站制作价格怎么算,网上拍卖流程以及规则?  如何用美橙互联一键搭建多站合一网站?  香港服务器如何优化才能显著提升网站加载速度?  打开php文件提示内存不足_怎么调整php内存限制【解决方案】  Laravel怎么定时执行任务_Laravel任务调度器Schedule配置与Cron设置【教程】  大学网站设计制作软件有哪些,如何将网站制作成自己app?  详解vue.js组件化开发实践  Java Adapter 适配器模式(类适配器,对象适配器)优缺点对比  jQuery中的100个技巧汇总  java获取注册ip实例  如何确保西部建站助手FTP传输的安全性?  网站建设要注意的标准 促进网站用户好感度!  手机网站制作平台,手机靓号代理商怎么制作属于自己的手机靓号网站?  node.js报错:Cannot find module &#39;ejs&#39;的解决办法  利用vue写todolist单页应用  ChatGPT常用指令模板大全 新手快速上手的万能Prompt合集  PythonWeb开发入门教程_Flask快速构建Web应用  Laravel Debugbar怎么安装_Laravel调试工具栏配置指南  微信小程序 闭包写法详细介绍  Laravel广播系统如何实现实时通信_Laravel Reverb与WebSockets实战教程  JS碰撞运动实现方法详解  Laravel Seeder怎么填充数据_Laravel数据库填充器的使用方法与技巧  Java垃圾回收器的方法和原理总结  WEB开发之注册页面验证码倒计时代码的实现  广州网站制作公司哪家好一点,广州欧莱雅百库网络科技有限公司官网?  专业商城网站制作公司有哪些,pi商城官网是哪个?  如何在香港服务器上快速搭建免备案网站?  手机网站制作与建设方案,手机网站如何建设?  如何用低价快速搭建高质量网站?  长沙企业网站制作哪家好,长沙水业集团官方网站?  夸克浏览器网页跳转延迟怎么办 夸克浏览器跳转优化  Laravel怎么在Blade中安全地输出原始HTML内容  ,南京靠谱的征婚网站?  如何快速生成高效建站系统源代码?  Laravel如何连接多个数据库_Laravel多数据库连接配置与切换教程  Laravel如何与Pusher实现实时通信?(WebSocket示例)  高性价比服务器租赁——企业级配置与24小时运维服务  Win11怎么关闭资讯和兴趣_Windows11任务栏设置隐藏小组件