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() + "%";
            }

        }
    }
     

    源代码下载

  • 相关阅读:
    Python爬取暴走漫画动态图
    ADB server didn't ACK 的解决方法
    安装APK时报Local path doesn't exist错误
    当Web Services遇到Android(初步接触时可能遇到的错误)
    eclipse启动时出现Incompatible JVM Version [###] of the JVM is not suitable for this product ...
    两个Activity之间的切换和响应
    关于不同Android手机适配的几个问题(转)
    ERROR: Unknown command 'crunch' 解决方法
    eclipse无法启动的常见原因
    获取手机屏幕的宽和高
  • 原文地址:https://www.cnblogs.com/hackpig/p/1668492.html
Copyright © 2011-2022 走看看