计算一个单词在文件中出现的次数

本文关键字:文件 单词 一个 计算 | 更新日期: 2023-09-27 18:19:25

我想计算一个单词在文件中出现的次数。有简单的方法吗?

计算一个单词在文件中出现的次数

如果文件是一个直接的文本文件,那么在c#中它是非常简单的…

private static int GetWordCount(string fileName, string word)
{
     string content = File.ReadAllText(fileName);
     string[] words = content.Split(new char[] {'.', '.', ' ', '?', ''n', ''r'},
                  StringSplitOptions.RemoveEmptyEntries);
     return words.Count(q => q == word);
}

此方法将文本读入字符串,然后根据一些分隔符拆分字符串。然后调用LINQ函数来获取并返回计数。

static void Main(string[] args)
{
     StreamReader oReader;
     if (File.Exists(@"C:'TextFile.txt"))
     {
          Console.WriteLine("Enter a word to search");
          string cSearforSomething = Console.ReadLine().Trim();
          oReader = new StreamReader(@"C:'TextFile.txt");
          string cColl = oReader.ReadToEnd();
          string cCriteria = @"'b"+cSearforSomething+@"'b";
          System.Text.RegularExpressions.Regex oRegex = new System.Text.RegularExpressions.Regex(cCriteria,RegexOptions.IgnoreCase);
          int count = oRegex.Matches(cColl).Count;
          Console.WriteLine(count.ToString());
     }
     Console.ReadLine();
}

另一种方法。这可以帮助你更好地理解。

使用集合/泛型的概念,我们将很容易实现我们的标准。请检查以下代码并根据您的场景进行更新。

1)。最初读取文本文件(使用filestream并导入IO命名空间),

System.IO.StreamReader StreamReader1 =
new System.IO.StreamReader(Server.MapPath("test.txt"));

2)。附加到字符串生成器中。

StringBuilder sbData = new StringBuilder();
sbData.Append(StreamReader1.ReadToEnd());

3)。从StringBuilder(空格,句号,问号,感叹号,撇号,新行)中拆分单词

string[] arrDataCollection = sbData.ToString().Split(' ');

4)。创建SortedList字典

SortedList<int, string> slData = new SortedList<int, string>();

5)。循环溢出数据并获得不同的集合。

for (int i = 0; i < Words.Length; i++)
{
    slData.Add(i, arrDataCollection[i]);
}

6)。得到不同的单词,计数并保存到一个Hashtable

Hashtable htCollections = new Hashtable();
foreach (KeyValuePair<int, string> kvp in slData )
{
    table.Add(kvp.Value, kvp.Key );
}

7。)最后根据我们的要求从Hashtable中过滤它,希望这对你有帮助。