Подсчитать количество определенных слов - 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; } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д