Поиск совпадений в текстовом файле - C#

Узнай цену своей работы

Формулировка задачи:

Помогите провести поиск совпадений в текстовом файле! У нас известно такие начальные данные, которые могут меняться, к примеру: НР, НИ, НК, НО, НЦ, НТ, КА, КО Также у нас есть текстовый файл, который содержит готовые наборы, на пример возьмем 3 строчки: КА, КО, ЦА, ЦО, ДР, ДС, ДЗ, ДВ, НР, НИ, НК, НО, НЦ, НТ - строка 1 КА, КО, ЦА, ДВ, НР, НИ, НК, НО, НЦ - строка 2 КО, ЦА, ДС, ДЗ, ДВ, НР, НИ, НК, НО, НЦ, НТ - строка 3 Как сравнить начальные данные с текстовым файлом и узнать в какой строчке наиболее совпадений, после всего вывести название строки - например строка 1(8 совп.), стр. 2(7 совп.), стр. 3(7 совпад.)?

Решение задачи: «Поиск совпадений в текстовом файле»

textual
Листинг программы
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
 
namespace ConsoleApplication1
{
    class Program
    {
        static void Main()
        {
            string[] lines = File.ReadAllLines("D:\\File.txt", Encoding.Default);
            Console.Write("Введите теги через запятую\n>");
            string sub = Console.ReadLine();
 
            Dictionary<int, int> spisok = new Dictionary<int, int>();
            int count;
 
            for (int i = 0; i < lines.Length; i++)
            {
                count = 0;
                string[] temp = sub.Split(',').Select(x => x.Trim()).ToArray(); //разделяем строку запятыми, выбираем каждый элемент и убираем из него пробелы
                foreach (var str in temp)//пробегаем по полученному массиву подстрок
                    if (lines[i].Contains(str)) //если в i-й строке содержится подстрока str,
                        count++;//то прибавляем счетчик
                spisok.Add(i, count);//добавляем элемент в словарь с ключом i и значением count
            }
 
            foreach (var i in spisok)
                Console.WriteLine("стр. {0} ({1} совп.)", i.Key, i.Value);
 
            Console.ReadLine();
        }
    }
}

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


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

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

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