你的位置:首页 > ASP.net教程

[ASP.net教程]一段英文中出现的单词的次数


前一段时间面试的时候,遇到一道面试题:求一段英文中的每个字母出现的次数。

今天我不求每个字母出现的频率,我求一段英文中每个单词出现的频率。

class Program  {    static void Main(string[] args)    {      string text = @"He was one of the best string instrument players in our town. He could not read music, but if he heard a tune a few times, he could play it";      Dictionary<string, int> wordfrequencies = CountWords(text);      foreach (KeyValuePair<string,int> entry in wordfrequencies)      {        Console.WriteLine("{0}:{1}",entry.Key,entry.Value);      }      Console.ReadKey();    }    static Dictionary<string,int> CountWords(string text)    {      //创建单词到频率的新映射      Dictionary<string, int> wordfrequencies = new Dictionary<string, int>();      //将文本分解成单词      string[] words = Regex.Split(text, @"\W+");      //添加或更新映射      foreach (string word in words)      {        if (wordfrequencies.ContainsKey(word))        {          wordfrequencies[word]++;        }        else        {          wordfrequencies[word] = 1;        }      }      return wordfrequencies;    }  }