Считать текст и вывести те предложения, где содержится слово, введённое с консоли - C#
Формулировка задачи:
Накидал программу, которая считывает текст и выводит те предложения, где содержится
слово
введённое с консоли. Но есть подвох, когда пишешь например одну букву определённую, то выводит все предложения с такой буквой В ЛЮБОМ СЛОВЕ. Как избежать этой проблемы? Например text.txt: Hello World. I've been. I want to stop the World. My mom is good. Пишет в консоль: I Выводит: I've been. I want to stop the World. My mom is good.Console.Write("Введи слово: ");
var slovoskonsoli = Console.ReadLine();
var text = File.ReadAllText(@"C:\text.txt");
var predlozhenia = text.Split('.');
Console.WriteLine("Строки, содержащие слово:");
//
foreach
(var predlozhenie in predlozhenia.Where(_ => _.Contains(slovoskonsoli)))
//
Console.WriteLine(predlozhenie);
Console.ReadKey();
}
}
}Решение задачи: «Считать текст и вывести те предложения, где содержится слово, введённое с консоли»
textual
Листинг программы
//using System.Text.RegularExpressions;
static void Main(string[] args)
{
string line = "Hello World. I've been. I want to stop the World. My mom is good.";
string output;
while (true)
{
output = string.Join("\n", Regex.Matches(line, @"[^.]*" + Console.ReadLine() + @"[^.]*", RegexOptions.IgnoreCase).Cast<Match>().Select(x => " - " + x.Value.Trim()).ToArray());
Console.WriteLine(output);
}
}