日期:2014-05-18  浏览次数:20831 次

C# 比较两个字符串的匹配率
就是想比较两个字符串的相似度

或者说比较一下两个字符串是不是基本一样 
如果只是标点符号不同 或者多几个字 少几个字的 就认为是一样的



------解决方案--------------------
字符串相似度测量是一个很专门的算法问题,有很多这方面算法,你可参考:

http://apps.hi.baidu.com/share/detail/30707338
------解决方案--------------------
我以前都用這樣比對兩個字串的相似度。
C# code

public int MatchCharCount(string data, string match)
{
    int returnValue = 0;
    char[] dataCharArray = data.ToCharArray();
    char[] matchCharArray = match.ToCharArray();
    for (int i = 0; i < matchCharArray.Length; i++)
    {
        for (int j = 0; j < dataCharArray.Length; j++)
        {
            if (matchCharArray[i] == dataCharArray[j])
            {
                returnValue++;
                break;
            }
        }
    }
    return returnValue;
}