LOGO OA教程 ERP教程 模切知识交流 PMS教程 CRM教程 开发文档 其他文档  
 
网站管理员

C#计算两字符串相似度

admin
2023年3月22日 15:40 本文热度 602

动态规划相似度算法经常被用来确定两个字符串文本是否相似,特别是在模糊匹配搜索中。下面封装的C#.NET函数采用动态规划法比较两个短文本之间的相似度,返回百分比(精确道小数点两位)。

       private void button1_Click(object sender, EventArgs e)

        {

            this.textBox3.Text = "相似度:" + ComputeTextSame(this.textBox1.Text, this.textBox2.Text, false).ToString();

        }


        public static double ComputeTextSame(string textX, string textY, bool isCase = false) // 计算文本相似度函数(适用于短文本)

        {

            if (textX.Length <= 0 || textY.Length <= 0)

            {

                return (0);

            }

            if (!isCase)

            {

                textX = textX.ToLower();

                textY = textY.ToLower();

            }

            int[,] dp = new int[Math.Max(textX.Length, textY.Length) + 1, Math.Max(textX.Length, textY.Length) + 1];

            for (int x = 0; x < textX.Length; x++)

            {

                for (int y = 0; y < textY.Length; y++)

                {

                    if (textX[x] == textY[y])

                    {

                        dp[x + 1, y + 1] = dp[x, y] + 1;

                    }

                    else

                    {

                        dp[x + 1, y + 1] = Math.Max(dp[x, y + 1], dp[x + 1, y]);

                    }

                }

            }

            return (Math.Round(((double)(dp[textX.Length, textY.Length]) / Math.Max(textX.Length, textY.Length)) * 100, 2));

        }


该文章在 2023/3/22 15:41:22 编辑过
关键字查询
相关文章
正在查询...
点晴ERP是一款针对中小制造业的专业生产管理软件系统,系统成熟度和易用性得到了国内大量中小企业的青睐。
点晴PMS码头管理系统主要针对港口码头集装箱与散货日常运作、调度、堆场、车队、财务费用、相关报表等业务管理,结合码头的业务特点,围绕调度、堆场作业而开发的。集技术的先进性、管理的有效性于一体,是物流码头及其他港口类企业的高效ERP管理信息系统。
点晴WMS仓储管理系统提供了货物产品管理,销售管理,采购管理,仓储管理,仓库管理,保质期管理,货位管理,库位管理,生产管理,WMS管理系统,标签打印,条形码,二维码管理,批号管理软件。
点晴免费OA是一款软件和通用服务都免费,不限功能、不限时间、不限用户的免费OA协同办公管理系统。
Copyright 2010-2024 ClickSun All Rights Reserved