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

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 3.778 из 5
Похожие ответы