Подсчитать количество определенных слов - C#
Формулировка задачи:
Всем доброго времени суток!
Есть текстовый файл в котором 10000 строк, все строки имеют формат:
номер: слово, слово, ...
. При чем слова в каждой строке разделены либо запятой, либо пробелом. Прикрепил файл для того, чтобы было более понятно. Мне нужно сделать так, чтобы программа могла подсчитать количество каждого слова в файле, но при этом чтобы "номер" она не считала и никакие знаки тоже, только слова. Примерно должно выглядеть так: 1. Слово1: 100 (100 - сколько раз фигурирует слово в файле); 2. Слово2: ... ; 3. Слово3: ... ; n. ... И так до того, пока не будут подсчитаны именно все слова, кроме номера! Думал считывать слова с listBox или textBox, но что-то никак не удается. Сам файл в объект занести получается, но с подсчетом слов никак не выход. Может кто-нибудь подсказать как сделать данное решение?Решение задачи: «Подсчитать количество определенных слов»
textual
Листинг программы
- using System;
- using System.Collections.Generic;
- using System.IO;
- using System.Linq;
- namespace ConsoleApplication207
- {
- class Program
- {
- static void Main(string[] args)
- {
- var res = Calc("c:\\test.txt");
- foreach (var pair in res)
- Console.WriteLine("{0} : {1}", pair.Key, pair.Value);
- Console.ReadLine();
- }
- static Dictionary<string, int> Calc(string filePath)
- {
- var res = new Dictionary<string, int>();
- foreach(var line in File.ReadLines(filePath))
- foreach(var word in line.Split(';', ' ', ',').Skip(1))
- {
- var count = 0;
- res.TryGetValue(word, out count);
- res[word] = count + 1;
- }
- return res;
- }
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д