当前位置: 首页>>代码示例>>C++>>正文


C++ CDictionary::FindWord方法代码示例

本文整理汇总了C++中CDictionary::FindWord方法的典型用法代码示例。如果您正苦于以下问题:C++ CDictionary::FindWord方法的具体用法?C++ CDictionary::FindWord怎么用?C++ CDictionary::FindWord使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在CDictionary的用法示例。


在下文中一共展示了CDictionary::FindWord方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: SegmentSentence

//对字符串用最大匹配法(正向或逆向)处理
string SegmentSentence(string s1)
{
	string s2 = ""; //用s2存放分词结果

	while (!s1.empty())
	{
		int len = (int)s1.length(); // 取输入串长度
		if (len > MaxWordLength) // 如果输入串长度大于最大词长
		{
			len = MaxWordLength; // 只在最大词长范围内进行处理
		}
		//string w = s1.substr(0, len); // (正向用)将输入串左边等于最大词长长度串取出作为候选词
		string w = s1.substr(s1.length() - len, len); //逆向用
		int n = WordDic.FindWord(w); // 在词典中查找相应的词
		while (len > 2 && n == 0) // 如果不是词
		{
			len -= 2; // 从候选词右边减掉一个汉字,将剩下的部分作为候选词
			//w = w.substr(0, len); //正向用
			w = s1.substr(s1.length() - len, len); //逆向用
			n = WordDic.FindWord(w);
		}
		//s2 += w + Separator; // (正向用)将匹配得到的词连同词界标记加到输出串末尾
		w = w + Separator; // (逆向用)
		s2 = w + s2; // (逆向用)
		//s1 = s1.substr(w.length(), s1.length()); //(正向用)从s1-w处开始
		s1 = s1.substr(0, s1.length() - len); // (逆向用)
	}
	return s2;
}
开发者ID:hitcszq,项目名称:nlp_segmention,代码行数:30,代码来源:main.cpp


注:本文中的CDictionary::FindWord方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。