Есть строка
"Привет Андрей"
Есть Список
"Привет"
"Пока"
"Погода"
Как мне проверить есть ли совпадение строки со значением в списке через linq?
Пробую вот так, но пишет false
var z = names.Any(x => x.Contains("Привет Андрей"));
Внесу свои 5 копеек с использованием регулярок:
var list = new List<string>(){
"Привет","Пока","Погода"
};
var str="Привет Андрей";
var result=list.SelectMany(x => Regex.Matches(str, $@"\b{Regex.Escape(x)}\b").Cast<Match>().Select(m =>m.Value)).Any();
В простых случаях- это большой оверхед по сравнению со строковыми функциями, но если что-то экзотическое нужно искать, то может помочь.
var input = "Привет Андрей";
string[] keywords = { "Привет", "Пока", "Погода" };
var result = keywords.Any(keyword => input.Contains(keyword));
string[] keywords = { "Привет", "Пока", "Погода" };
var rez1 = "Привет Андрей".Split().Intersect(keywords).Any();
// rez1 == true
var rez2 = "Приветище Андрей".Split().Intersect(keywords).Any();
// rez2 == false
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости