Подсчитать количество определенных слов - 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;
}
}
}