由於明天有活動,今天就把(四)和(五)一起給弄出來了,希望大家喜歡。
下面是分詞程序中,分詞的結果就是使用下面的方法得到,這個我是寫在KeyWordTree類中,但是大家喜歡了。
其實也可以放在應用程序中。
/**//// <summary>
/// 分詞,鍵樹查找
/// </summary>
/// <param name="strText">分詞內容</param>
/// <returns>分詞結果</returns>
public string FindKeyWord(string strText)
...{
List<KeyWordTreeNode> tmpRoot = Root.ChildList;
StringBuilder strBuilder = new StringBuilder();
int CC = 0; //已經查到字符數 ,為了找不到的時候,判斷是否退回一個字符
for (int iCount = 0; iCount < strText.Length; iCount++)
...{
int tmpIndex = FindIndex(tmpRoot, strText[iCount]);
if (tmpIndex == -1)
...{
if (CC == 0)
...{
strBuilder.Append(strText[iCount]+"|");
}
else
...{
iCount -= 1;
strBuilder.Append("|");
}
tmpRoot = Root.ChildList;
CC = 0;
}
else
...{
strBuilder.Append(strText[iCount]);
//添加ID記錄
tmpRoot = tmpRoot[tmpIndex].ChildList;
CC++;
}
}
return strBuilder.ToString();
}