在中文分词的过程中需要将英文,数字,汉字分离,数字和英文就不用分割了,主要是将分离出来的汉字进行分词,下面的算法实现利用正则表达式分离汉字、英文、数字:
//获取中文string chRegS = @"[\u4e00-\u9fa5]+";Regex chRegR = new Regex(chRegS);Match chMacth = chRegR.Match(str);while(chMacth.Success){ CHresult.Add(chMacth.ToString()); chMacth = chMacth.NextMatch();}//英文string enRegS = @"[a-zA-Z]+";Regex enRegR = new Regex(enRegS);Match enMatch = enRegR.Match(str);while (enMatch.Success){ Enresult.Add(enMatch.ToString()); enMatch = enMatch.NextMatch();}//数字string numRegS = @"\d+";Regex numRegR = new Regex(numRegS);Match numMatch = numRegR.Match(str);while (numMatch.Success){ Numresult.Add(numMatch.ToString()); numMatch = numMatch.NextMatch();} 转自
测试字符串:“可复用的WPF或者Silverlight应用程序和组件设计(3)——控件级别”
结果: