Это то, что я сделал.
List<string> keywords1 = new List<string> { "word1", "word2", "word3" };
string sentence = Console.ReadLine();
int sentenceLength = sentence.Length;
string pattern = String.Join("|", keywords1.Select(k => Regex.Escape(k)));
Match matching = Regex.Match(sentence, pattern, RegexOptions.IgnoreCase);
if (matching.Success)
{
Console.WriteLine(matching);
}
else {
Console.WriteLine("Keyword not found!");
}
но если в предложении есть соответствие каждому ключевому слову, я хочу перечислить их все. С приведенным выше кодом консоль просто записывает первое совпадающее слово.
Должен ли я использовать foreach? Но как?
Например:
ключевое слово = {"хочу", "купить", "буду", "продам"};
предложение = "Я хочу купить еды".
Тогда результат:
хочу, покупаю