Я пишу программу, которая поможет мне найти ключевое слово внутри тысяч файлов. У каждого из этих файлов есть ненужные строки, которые мне нужно игнорировать, потому что они воюют с результатами. К счастью, все они расположены после определенной строки внутри этих файлов.
У меня уже есть поиск, не игнорируя строки после этой конкретной строки, возвращая Перечислимые имена файлов, содержащие ключевое слово.Поиск в текстовых файлах для ключевого слова до тех пор, пока не встретится строка
var searchResults = files.Where(file => File.ReadLines(file.FullName)
.Any(line => line.Contains(keyWord)))
.Select(file => file.FullName);
Есть ли простой и быстрый способ реализовать эту функциональность? Это не обязательно должно быть в Linq, поскольку я даже не уверен, что это будет возможно.
Редактировать:
Пример, чтобы сделать его более четким. Это как текстовые файлы структурированы:
ххх
ххх
строка
ууу
YYY
Я хочу, чтобы искать ххх линии до тех пор, либо ключевое слово не найдено, или строку, а затем перейдите к следующий файл. Линии yyy, которые я хочу игнорировать в моем поиске.
Моя основная проблема заключается в том, что я не знаю, как игнорировать строки после строки. Поиск строк «yyy» дает слишком много ложных срабатываний в результатах. – drouning
Вы посмотрели на этот вопрос? http://stackoverflow.com/questions/31717324/searching-in-text-files-until-specific-string – Enigmativity