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作为循环判断的条件。