一个文本文件中统计单词频率的问题
读取英文文本文件中的文本,并且统计出所有单词出现的次数,文本中仅包含逗号句号叹号三种标点,时间复杂度尽可能低一些。 --------------------编程问答-------------------- 求大牛帮忙 --------------------编程问答-------------------- 单词?单词怎么区分的?...先 空格 分割,再分组,再 统计。
string str = "csdn msdn";
var query = str.Split(' ')
.GroupBy(g => g)
.Select(s => new { Key=s.Key, Count = s.Count() });
--------------------编程问答--------------------
怎么把以这种形式输出出来啊
csdn 1
msdn 1 --------------------编程问答-------------------- 支持2楼。 --------------------编程问答-------------------- 集合
--------------------编程问答--------------------
foreach (var item in query)
{
Console.WriteLine("单词:{0},次数:{1}", item.Key, item.Count);
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
using System.Collections;
namespace Frequent
{
class Program
{
static void Main(string[] args)
{
Hashtable ht = new Hashtable();
string rxtext=@"\b\w+\b";
string tests = "hello world,HI.";
foreach (Match mch in Regex.Matches(tests, rxtext))
{
if (!ht.ContainsKey(mch.Value))
{
ht.Add(mch.Value, 1);
}
else
{
ht[mch.Value] = int.Parse(ht[mch.Value].ToString()) + 1;
}
}
ICollection keyColl = ht.Keys;
foreach (string s in keyColl)
{
Console.WriteLine("Word = {0},Number={1}", s ,ht[s]);
}
Console.Read();
}
}
}
水平不高,写个稍微麻烦点的,不过这个可以无视里面的标点符号了 --------------------编程问答--------------------
这里面用到的正则表达式表示的是什么意思啊? --------------------编程问答-------------------- http://topic.csdn.net/u/20090827/11/922409b3-31da-47d2-a87e-90c602d2272c.html
补充:.NET技术 , C#