C# 遍历txt,要求统计出文章中每个单词出现次数 split

 我来答
阳光的雷咩咩
2016-09-20 · TA获得超过1.4万个赞
知道大有可为答主
回答量:2.3万
采纳率:66%
帮助的人:7802万
展开全部
        static void Main(string[] args)
        {
            string fn = @"C:\test\test.txt";
            string all = File.ReadAllText(fn, Encoding.UTF8);
            string[] words = all.Split(
                new char[] { ' ', '\r', '\n' },
                StringSplitOptions.RemoveEmptyEntries);
            Console.WriteLine("单词\t\t出现次数");
            foreach (var kv in words
                .GroupBy(x => x)
                .OrderBy(x => x.Key))
            {
                Console.WriteLine("{0}\t\t{1}",
                    kv.Key, kv.Count());
            }
            Console.ReadLine();
        }
cc486255
2016-09-20 · 知道合伙人软件行家
cc486255
知道合伙人软件行家
采纳数:697 获赞数:1968
3年.NET开发经验

向TA提问 私信TA
展开全部
单词?? 有分隔符吗?
追问

统计时不包括标点符号。

追答
string txt = File.ReadAllText("1.txt", Encoding.UTF8);
//去掉, . !符号
txt=txt.Replace(",", "").Replace(".", "").Replace("!",""); 
string[] sp = txt.Split(' ');
var temp1 = sp.GroupBy(i => i).ToList();
temp1.ForEach(i=>{
      string danci = i.Key;
      int cishu = i.Count();
      //输出语句
      listBox1.Items.Add("单词:"+danci+"  出现了:"+cishu+"次");
});

借鉴了一下阳光的雷咩咩的答案

标点符号已去除

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式