zoukankan      html  css  js  c++  java
  • C# 字符串相似度算法

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;

    namespace 字符串相似度
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }

            ******* void button1_Click(object sender, EventArgs e)
            {
                String str1 = textBox1.Text;
                String str2 = textBox2.Text;
                label3.Text = get_semblance_By_2words(str1, str2);
            }

            public static string get_semblance_By_2words(string word1, string word2)
            {
                int re = 0;
                int maxLength;
                int i, l;
                List<string> tb1 = new List<string>();
                List<string> tb2 = new List<string>();
                i = 0;
                l = 1;
                maxLength = word1.Length;
                if (word1.Length < word2.Length)
                    maxLength = word2.Length;
                while (l <= word1.Length)
                {
                    while (i < word1.Length - 1)
                    {
                        if (i + l > word1.Length)
                            break;
                        tb1.Add(word1.Substring(i, l));
                        i++;
                    }
                    i = 0;
                    l++;
                }

                i = 0;
                l = 1;

                while (l <= word2.Length)
                {
                    while (i < word2.Length - 1)
                    {
                        if (i + l > word2.Length)
                            break;
                        tb2.Add(word2.Substring(i, l));
                        i++;
                    }
                    i = 0;
                    l++;
                }
                foreach (string subStr in tb1)
                {
                    int tempRe = 0;
                    if (tb2.Contains(subStr))
                    {
                        tempRe = subStr.Length * 100 / maxLength;
                        if (tempRe > re)
                            re = tempRe;
                        if (tempRe == 100)
                            break;
                    }
                }
                return re.ToString() + "%";
            }

        }
    }
     

    源代码下载

  • 相关阅读:
    InnoDB和MyISAM区别总结
    jquery判断checkbox是否被选中
    手机网站重构经验分享(S60V3篇)
    域名A记录、MX记录、CNAME、TTL
    ubuntu apache2配置详解(含虚拟主机配置方法)
    IP分片攻击
    Linux+Apache+Mysql+PHP典型配置
    apache配置优化测试
    PHP 正则表达式资料
    人人网UGC技术广播站
  • 原文地址:https://www.cnblogs.com/hackpig/p/1668492.html
Copyright © 2011-2022 走看看