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