C# 一个简单分词程序的思路和代码(四) 键树 查询记录
2007-10-27 20:18
1041 查看
由于明天有活动,今天就把(四)和(五)一起给弄出来了,希望大家喜欢。
下面是分词程序中,分词的结果就是使用下面的方法得到,这个我是写在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();
}
下面是分词程序中,分词的结果就是使用下面的方法得到,这个我是写在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();
}
相关文章推荐
- C# 一个简单分词程序的思路和代码(三) 键树 插入记录
- C# 一个简单分词程序的思路和代码(二) 键树
- C# 一个简单分词程序的思路和代码(七) 后记
- C# 一个简单分词程序的思路和代码(五) 使用代码
- C# 一个简单分词程序的思路和代码(一)
- C# 一个简单分词程序的思路和代码(六) 源代码 ,测试程序,词库下载地址
- C#2005 一个简单的查询界面代码:DataGridView使用、图像显示、复合查询样例
- 一个简单的AJAX实现,基于C#的ASP.Net,包括服务器端的程序代码
- 简单代码实现C#中运行另外一个程序
- 例题:计算运费。c#语言基础,比较简单。看代码输入格式和方法。同样方法可以做一个 出租车打车的程序
- Beginning C# Objects从概念到代码——1.4 解析一个简单的C#程序
- 【C#】对异步请求处理程序IHttpAsyncHandler的理解和分享一个易用性封装 【手记】走近科学之为什么明明实现了IEnumerable<T>的类型却不能调用LINQ扩展方法 【手记】手机网页弹出层后屏蔽底层的滑动响应 【手记】ASP.NET提示“未能创建类型”处理 【Web】一个非常简单的移动web消息框 【手记】解决EXCEL跑SQL遇“查询无法运行或数据库表无法打开...”
- 收了100元辛苦费,写了一个最简单的C#ASP.NET的3层架构例子代码,源码是通过代码生成器生成的【写程序的效率神奇的高】
- C#一个简单的定时小程序实现代码
- 一个简单的AJAX实现,基于C#的ASP.Net,包括服务器端的程序代码
- 推荐一个用C#代码生成JavsScript的简单程序集
- PHP开发的一个小小项目,记录下实现思路(附上实现功能的示例代码)(二)
- 通过反汇编一个简单的C程序,分析汇编代码理解计算机是如何工作的(原创)
- 一个简单的域名注册情况查询程序
- C# 程序日志记录LOG代码