Как проверить совпадение строки в списке?

96
21 сентября 2021, 05:50

Есть строка

"Привет Андрей"

Есть Список

"Привет"
"Пока"
"Погода"

Как мне проверить есть ли совпадение строки со значением в списке через linq? Пробую вот так, но пишет false

var z = names.Any(x => x.Contains("Привет Андрей"));
Answer 1

Внесу свои 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();

В простых случаях- это большой оверхед по сравнению со строковыми функциями, но если что-то экзотическое нужно искать, то может помочь.

Answer 2
var input = "Привет Андрей";
string[] keywords = { "Привет", "Пока", "Погода" };
var result = keywords.Any(keyword => input.Contains(keyword));
Answer 3
string[] keywords = { "Привет", "Пока", "Погода" };
var rez1 = "Привет Андрей".Split().Intersect(keywords).Any();
// rez1 == true
var rez2 = "Приветище Андрей".Split().Intersect(keywords).Any();
// rez2 == false
READ ALSO
Как программно получить все элементы из формы?

Как программно получить все элементы из формы?

Передо мной встала задача получить все элементы в форме, включая меню и строку состояния и другие у которых имеется свойство TextТак как у каждого...

287
Как убрать гласные буквы из массива

Как убрать гласные буквы из массива

Цель: из 10 элементов массива вывести в консоль только согласные буквы английского алфавитаТ

208
социальная сеть на asp.NET Core + Angular 8 [закрыт]

социальная сеть на asp.NET Core + Angular 8 [закрыт]

Хотите улучшить этот вопрос? Переформулируйте вопрос так, чтобы он был сосредоточен только на одной проблеме

158
C#.Почему массивы-типы ссылок?

C#.Почему массивы-типы ссылок?

Узнал что массивы в C#-это типы ссылок и они хранятся в куче,которая используется для динамичного выделения памятиНо вот вопрос:для чего массиву...

166