程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> 不完成拼音模糊匹配

不完成拼音模糊匹配

編輯:C#入門知識

[csharp] 
private bool IsPinyinMatch(char[] keys, char[] destination) 
    { 
        int i = 0, j = 0; 
        while (i < keys.Length && j < destination.Length) 
        { 
            if (keys[i] == destination[j]) 
            { 
                i++; 
                if (i == keys.Length) return true; 
            } 
            j++; 
        }  www.2cto.com
        return false; 
    } 
    private bool IsPinyinMatch(String keys, String destination) 
    { 
        return IsPinyinMatch(keys.ToCharArray(), destination.ToCharArray()); 
    } 

private bool IsPinyinMatch(char[] keys, char[] destination)
    {
        int i = 0, j = 0;
        while (i < keys.Length && j < destination.Length)
        {
            if (keys[i] == destination[j])
            {
                i++;
                if (i == keys.Length) return true;
            }
            j++;
        }
        return false;
    }
    private bool IsPinyinMatch(String keys, String destination)
    {
        return IsPinyinMatch(keys.ToCharArray(), destination.ToCharArray());
    }


測試例字:輸入key1="WM",   匹配 :key2=“wanmeiqianzhuan”

首先拿 key1的W去匹配Key2裡面的第一個字符,如果沒有匹配得上,則J++,繼續匹配Key2的第二項。如果匹配上了第一項,則i++,繼續拿key1的第二個位置匹配Key的第J個位置

進行匹配。

當key1是長度等於i的長度時,並且key1的最後一位也在key2中匹配上以後,則return true.

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved