字符串中的单词提取算法

//方法类 using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Cp5 { class WordExtractor { //初始状态:wordBengin位于单词的起始处,设置wordEnd开始检索 int wordBengin = 0; int wordEnd = 0; int wordLength = 0; char ch; public void Getword(string myText,int adjTextLength,int minLength) { while(wordEnd<adjTextLength) { //将wordEnd前移一个字符 wordEnd++; ch = myText[wordEnd]; //如果碰到了空白符 if(char.IsWhiteSpace(ch)) { wordLength = wordEnd – wordBengin; //获取单词的长度 if(wordLength>=minLength) //如果单词的长度大于或者等于用户要求的单词长度 { Console.WriteLine(myText.Substring(wordBengin, wordLength)); } //将wordBengin移到下一个单词的起始处 wordBengin = wordEnd + 1; } } //处理最后一个单词 wordLength = myText.Length – wordBengin; //获取最后一个单词的长度 if (wordLength >= minLength) { Console.WriteLine(myText.Substring(wordBengin, wordLength)); } } } } //测试类 using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Cp5 { class Test { static void Main(string[] args) { string myText; int minLength = 0; int adjTextLength = 0; WordExtractor word = new WordExtractor(); Console.Write(“请输入要分析的字符串:”); myText = Console.ReadLine(); Console.Write(“请输入要显示的单词的最小长度:”); minLength = Convert.ToInt32(Console.ReadLine()); //调整文本长度和数组下标匹配 adjTextLength = myText.Length – 1; word.Getword(myText,adjTextLength,minLength); } } }

    原文作者:rart2008
    原文地址: https://blog.csdn.net/rart2008/article/details/5676776
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞