C#如何实现统计数组个数

qq_35631598 2016-10-11 06:26:38
static void text1(string x)
{
char[] any = { ' ', ',', '.', ';', '?', '!' };
int istart = 0;
int iend = 0;
string[] value= new string[100];
do{
iend = x.IndexOfAny(any,istart);
if (iend == -1) iend = x.Length;
if (iend != istart)
{
int i=1;
value[i] = x.Substring(istart, (iend - istart));
i++;
}
istart = iend + 1;
}while(istart<x.Length);
??????????????????????????????????????????
}

目的在于统计单词出现频率
...全文
1467 3 打赏 收藏 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
正怒月神 2016-10-12
  • 打赏
  • 举报
回复
同2楼,如果只是统计单词出现次数,那就groupby分组一下
stherix 2016-10-12
  • 打赏
  • 举报
回复
就是单词统计是吧 为何要用这种c的语法来写呢

static void text1(string text)
        {
            char[] any = { ' ', ',', '.', ';', '?', '!' };
            var list = text.Split(any).GroupBy(x => x);
            foreach (var group in list)
            {
                Console.WriteLine("{0}={1}", group.Key, group.Count());
            }
        }
  • 打赏
  • 举报
回复
统计某个单词在字符串中的个数?
        /// <summary>
        /// 统计某个单词在字符串中的个数
        /// </summary>
        /// <param name="keyword">关键字</param>
        /// <param name="strs">整个文本</param>
        /// <returns>重复个数</returns>
        private int DuplicateWordCount(string keyword, string strs)
        {
            int dupCount = 0;
            char[] any = { ' ', ',', '.', ';', '?', '!' };
            string[] words = strs.Split(any, StringSplitOptions.RemoveEmptyEntries);
            for (int i = 0; i < words.Length; i++)
            {
                if (words[i].ToString().ToUpper() == keyword.ToUpper()) //不区分大小写
                    dupCount++;
            }
            return dupCount;
        }

111,128

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧