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 <= 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#实现的字符串相似度对比类
本类适用于比较2个字符的相似度,代码如下: using System; using System.Collections.Generic; using System.Text; public class StringCompute { #region 私有变量 /// <summary> /// 字符串1 /// </summary> private char[] _ArrChar1; /// <summary> /// 字符串2 /// </summary>
-
C#和SQL实现的字符串相似度计算代码分享
C#实现: 复制代码 代码如下: #region 计算字符串相似度 /// <summary> /// 计算字符串相似度 /// </summary> /// <param name="str1">字符串1</param> /// <param name="str2">字符串2</param> ///
-
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 <= len1; a++) { di
-
使用PHP similar text计算两个字符串相似度
在网站开发中,我们经常使用php similar text 计算两个字符串相似度; 1,similar_text的用法 如果我想计算"ly89cn"和"ly89"的相似程度,有两种表示方法 复制代码 代码如下: echo similar_text('ly89cn', 'ly89'); 这样输出4,因为他们有4个字符相等 复制代码 代码如下: similar_text('ly89cn', 'ly89', $percent); echo $percent; 这样输出80
-
计算两个字符串最大公有子串
背景 对算法一直应用的比较少,最近看到一些典型的算法想练练手,想看看到底有多么让人讨厌.其实发现算法都有一定的套路,一般并不是临时凭空想出来的,大都建立在一些已经存在的经典算法知识以及数据结构上.换句话来说,如果某些玩法之前未接触过,那么让你在短时间内临时想出来还是有一定难度的.这有点类似项目经验,如果曾经做过一个CRM系统,下次再碰到它时你就轻松很多,如果你挑战的是一个你从未遇到过的系统,你只能凭已有知识去强吃. 计算两个字符串最大公共子串 这个也是经常遇到到,给出两个任意长度的字符串,输出最
-
Lua中计算、执行字符串中Lua代码的方法
一.Lua中执行字符串 运行过程中有个问题,我有个字符串,是一个数学表达式,如何计算这个字符串表达式的值呢? 比如,local param = "7*100", 我需要的结果其实是700,但是怎么样直接计算出这个值呢?方法如下 字符串前面 加个 "return" 然后loadstring以后得到一个function 然后执行获得700的返回值,这样通过转化,得到的结果如下: 二.以字符串形式执行Lua代码 有时候,我们在代码中希望能够动态的切换上下文,改变程序的处理
-
PHP中计算字符串相似度的函数代码
similar_text - 计算两个字符串的相似度 int similar_text ( string $first , string $second [, float &$percent ] ) $first 必需.规定要比较的第一个字符串. $second 必需.规定要比较的第二个字符串. $percent 可选.规定供存储百分比相似度的变量名. 两个字符串的相似程度计算依据 Oliver [1993] 的描述进行.注意该实现没有使用 Oliver 虚拟码中的堆栈,但是却进行了递归调用,这
-
java算法之余弦相似度计算字符串相似率
概述 功能需求:最近在做通过爬虫技术去爬取各大相关网站的新闻,储存到公司数据中.这里面就有一个技术点,就是如何保证你已爬取的新闻,再有相似的新闻 或者一样的新闻,那就不存储到数据库中.(因为有网站会去引用其它网站新闻,或者把其它网站新闻拿过来稍微改下内容就发布到自己网站中). 解析方案:最终就是采用余弦相似度算法,来计算两个新闻正文的相似度.现在自己写一篇博客总结下. 一.理论知识 先推荐一篇博客,对于余弦相似度算法的理论讲的比较清晰,我们也是按照这个方式来计算相似度的.网址:相似度算法之余弦相
-
PHP常用字符串操作函数实例总结(trim、nl2br、addcslashes、uudecode、md5等)
本文实例总结了PHP常用字符串操作函数.分享给大家供大家参考,具体如下: /*常用的字符串输出函数 * * echo() 输出字符串 * print() 输出一个或多个字符串 * die() 输出一条信息,并退出当前脚本 * printf() 输出格式化字符串 * sprintf() 把格式化的字符串写入到一个变量中 * */ //ucfirst //将字符串中的首字母转换为大写 $str="string"; echo ucfirst($str); echo "<hr&
-
C语言实现手写字符串处理工具的示例代码
目录 头文件 实现文件 头文件 #ifndef STUDY_STR_UTIL_H #define STUDY_STR_UTIL_H #include "../structure/charhashmap.h" #include "../structure/charlist.h" #include "../structure/json.h" #include <malloc.h> #include <stdio.h> #inc
-
php字符比较函数similar_text、strnatcmp与strcasecmp用法分析
本文实例讲述了php字符比较函数similar_text.strnatcmp与strcasecmp用法.分享给大家供大家参考.具体如下: ① similar_text() 函数计算两个字符串的匹配字符的数目,该函数也可以计算两个字符串的相似度,以百分比计. 语法:similar_text(string1,string2,percent) 注释:levenshtein() 函数比 similar_text() 函数更快,不过,similar_text() 函数通过更少的必需修改次数提供更精确的结果
-
php similar_text()函数的定义和用法
php similar_text() 函数计算比较两个字符串的相似度,本文章向码农介绍php similar_text() 函数的基本使用方法和基本使用实例,感兴趣的码农可以参考一下. 定义和用法 similar_text() 函数计算两个字符串的相似度. 该函数也能计算两个字符串的百分比相似度. 注释:levenshtein() 函数比 similar_text() 函数更快.不过,similar_text() 函数通过更少的必需修改次数提供更精确的结果. 语法 similar_text(s
随机推荐
- Active Server Pages 错误 'ASP 0201' 修复方法
- javascript判断单选框或复选框是否选中方法集锦
- 二叉树的非递归后序遍历算法实例详解
- PHP+FLASH实现上传文件进度条相关文件 下载
- 分享JavaScript监听全部Ajax请求事件的方法
- asp.net 编程 实用语句(6条)
- Asp.Net使用Bulk实现批量插入数据
- PHP编程求最大公约数与最小公倍数的方法示例
- mysql中count(), group by, order by使用详解
- Warning: session_destroy() : Trying to destroy uninitialized sessionq错误
- 如何在linux下做软raid实现方法
- 识别 MS SQL 各个版本的版本号的方法
- linux网络操作相关命令汇总
- PHP变量赋值、代入给JavaScript中的变量
- redhat 4中安装Oracle 10g图文教程
- PHP GD库相关图像生成和处理函数小结
- [注册表]赤手空拳保秘密
- Android编程实现Dialog窗体监听的方法
- C#实现DataTable映射成Model的方法(附源码)
- C语言 循环详解及简单代码示例