求一个C#程序

求一个C#程序,可以统计一篇文章中各单词出现的词数(不包括标点符号),并且把出现次数前十的单词输出。多谢了!!!... 求一个C#程序,可以统计一篇文章中各单词出现的词数(不包括标点符号),并且把出现次数前十的单词输出。
多谢了!!!
展开
 我来答
短暂的漫漫长夜
2014-10-08 · TA获得超过143个赞
知道答主
回答量:12
采纳率:0%
帮助的人:12.4万
展开全部
邮箱多少,我发一个小程序给你吧,只能对英文进行统计个数,列表自带排序功能,你点击排序即可!
追问
收到你的程序了,我要的是代码的那些东西呀,你能不能发给我,谢谢了
makosharp
2014-10-08 · TA获得超过676个赞
知道小有建树答主
回答量:188
采纳率:100%
帮助的人:270万
展开全部

也是老生常谈的问题了。用正则可以轻易解决,使用\b\w+\b来捕获所有的单词,结果丢字典。

public class CountResult
    {
        public Dictionary<string, int> resultDic = new Dictionary<string, int>();
        public CountResult(string sourceTxt) 
        {
            Regex reg = new Regex("\\b\\w+\\b");
            Match match = reg.Match(sourceTxt);
            while (match.Success)
            {
                if (resultDic.ContainsKey(match.Value))
                    resultDic[match.Value]++;
                else
                    resultDic.Add(match.Value, 1);
                match = match.NextMatch();
            }
        }
    }

要前10的输出也简单,一行搞定:

List<string> r = resultDic.OrderByDescending<KeyValuePair<string, int>, int>(pair => pair.Value).Take(10).Select(pair => pair.Key).ToList();
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
生活he家
2014-10-08 · 一个属于大家的搬运工
生活he家
采纳数:1536 获赞数:6828

向TA提问 私信TA
展开全部
首先 一篇文章(什么类型?),单词(中文?英文?所有?)
追问
英文的
追答
恩恩 楼下有
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
merlindlut
2014-10-08 · TA获得超过422个赞
知道小有建树答主
回答量:945
采纳率:0%
帮助的人:410万
展开全部
这个是华为的面试题~~~~~~,上周刚面试的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式