/// <summary> /// 返回下一个Token /// </summary> /// <returns></returns> public override Token Next() { for (string word = spliter.Next(); word != null; word = spliter.Next()) { if (word.Length > 0 && !StopWord.Test(word)) { return(new Token(word, spliter.Offset - word.Length, spliter.Offset)); } } //关闭文本流 Close(); return(null); }
/// <summary> /// �ؼ��ֲ�ֲ����� /// </summary> /// <param name="keyword">�ؼ���</param> /// <returns></returns> public static string KeywordSplit(string keyword) { //�������Ĵ��ﰴ�տո���� string[] keyGroups = keyword.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries); StringBuilder keywords = new StringBuilder(/*keyword*/); for (int i = 0; i < keyGroups.Length; i++) { ThesaurusSpliter ts = new ThesaurusSpliter(new StringReader(keyGroups[i])); for (string word = ts.Next(); word != null; word = ts.Next()) { if (word.Length > 0 && !StopWord.Test(word)) { keywords.Append(" "); keywords.Append(word); } } keywords.Append("+"); } string trem = keywords.ToString().Trim(new char[] { ' ', '+' }); if (trem.Length > 0) { return trem; } return keyword.Trim(); }