Поиск в файле нужной строки и использование строки, находящейся рядом - PascalABC.NET
Формулировка задачи:
Попробую объяснить, как можно, проще. Если что непонятно, напишите.
Есть файл base.txt. В нем хранятся строки в формате:
Это своего рода база данных.
Пользователь вводит строку(например "Карова"). Программа ищет строку "Карова". Если таковая в файле есть, то задача программы обрубить строку так, чтобы осталось только "Корова" (без изначального слова и двоеточия).
Если таковой нет, то программа продолжает работать по дальнейшему алгоритму.
Решение задачи: «Поиск в файле нужной строки и использование строки, находящейся рядом»
textual
Листинг программы
begin var str := ReadlnString('Введите строку для поиска:'); var wrd := ReadAllLines('input.txt').Where(w -> w.StartsWith(str)) .Select(w -> w.Split(':').Last).ToArray; //пишем в массив на случай, если нужных слов несколько writeln(wrd.JoinIntoString(NewLine)); end.
Объяснение кода листинга программы
- Ввод строки для поиска в файле (str)
- Чтение всех строк из файла input.txt в список (wrd)
- Фильтрация строк, которые начинаются с введенной строки (w -> w.StartsWith(str))
- Разделение каждой строки на слова и выбор последнего слова каждой строки (w -> w.Split(':').Last)
- Преобразование выбранных слов в массив (ToArray)
- Вывод найденных слов на экран (wrd.JoinIntoString(NewLine))