specific word count (index of )

        #region 统计文件中某一词语出现次数。

             while (true) {                
                Console.WriteLine("请输入要查询的词语:");
                string word = Console.ReadLine();
                string[] novelArr = File.ReadAllLines("xiyou.txt", Encoding.Default);
                int count = 0;//计数变量
                int index = 0;//每行的 初始索引

                 for (int i = 0; i < novelArr.Length; i++) {
                    index = 0;//遍历完一行后重新归零
                     if (novelArr[i].Length == 0)//如果当前行为空,跳出
                         continue;
                     while ((index = novelArr[i].IndexOf(word, index)) != -1) {   //每行都是从索引0开始查,将找到的第一个索引赋值给当前索引,即跳过找过的
                        count++;
                         index += word.Length;//跳过所查字符长度
                     }
                 }
 
                Console.WriteLine("{0}出现了{1}次。", word, count);
             }

          #endregion

indexof函数分析:

indexof方法:

语法:

              stringObject.indexOf(searchvalue,fromindex)

searchvalue 必需。规定需检索的字符串值。
fromindex 可选的整数参数。规定在字符串中开始检索的位置。它的合法取值是 0 到 stringObject.length - 1。如省略该参数,则将从字符串的首字符开始检索。

               该方法将从头到尾地检索字符串 stringObject,看它是否含有子串 searchvalue。开始检索的位置在字符串的 fromindex 处或字符串的开头(没有指定 fromindex 时)。如果找到一            个 searchvalue,则返回 searchvalue 的第一次出现的位置。stringObject 中的字符位置是从 0 开始的。

注:

1、indexOf() 方法对大小写敏感!

2、如果要检索的字符串值没有出现,则该方法返回 -1。

     利用indexof函数检索字符串,未找到指定字符串值返回-1作为循环判断的条件。

posted on 2018-10-26 11:07  SkAm  阅读(141)  评论(0编辑  收藏  举报