Поиск в строке строк содержащихся в массиве. C#

bhairava7

Client
Регистрация
18.08.2015
Сообщения
154
Благодарностей
15
Баллы
18
Здравствуйте!

Подскажите, пожалуйста, есть ли какое-то более изящное решение в виде готовой функции для поиска строк в строке, которые содержатся в массиве?

Код:
//массив окончаний
string[] array_strs =
{
"вет",
"в",
"ив"
};

//строка по которой осуществляется поиск
string search_str = "привет";

и если есть строка "вет" из массива array_strs в строке search_str, например, то возвращать в переменную "вет", если нет, то пустоту.
 
Последнее редактирование:

Nick

Client
Регистрация
22.07.2014
Сообщения
1 963
Благодарностей
796
Баллы
113
более изящное, чем какое? в принципе, можете загнать всё в одну переменную и потом по ней искать с помощью .Contains().
 

LexxWork

Client
Регистрация
31.10.2013
Сообщения
1 190
Благодарностей
786
Баллы
113
var found = array_strs.First(str=>search_str.Contains(str));
return (found == nulll)?"":found;
 
  • Спасибо
Реакции: Atomic и bhairava7

bhairava7

Client
Регистрация
18.08.2015
Сообщения
154
Благодарностей
15
Баллы
18
более изящное, чем какое? в принципе, можете загнать всё в одну переменную и потом по ней искать с помощью .Contains().
чем проход по массиву foreach или for)
На счёт "загнать всё в одну переменную и потом по ней искать" не совсем понял, мне же нужно найти в строке любой из элементов массива.
Но благодарю за Contains! :-)

var found = array_strs.First(str=>search_str.Contains(str));
return (found == nulll)?"":found;
Вот почти то, что и имел ввиду! :-)

Скажите, пожалуйста, в этом примере ищутся именно любой из совпадающих элементов массива? Спрашиваю из-за того, что функция .First надоумила на этот вопрос))
И можно ли вернуть не found в случае успеха, а сам элемент массива найденный?

Благодарю!!! :-)
 

bhairava7

Client
Регистрация
18.08.2015
Сообщения
154
Благодарностей
15
Баллы
18
var found = array_strs.First(str=>search_str.Contains(str));
return (found == nulll)?"":found;
Прошу прощения, вчера не посмотрел в лог, поэтому и задал вопрос на счёт .First, в nulll была лишняя L, теперь всё как часы)
Благодарю еще раз!

И если можете, подскажите, пожалуйста, как искать элементы из массива не по всей строке, а с конца строки?
 

LexxWork

Client
Регистрация
31.10.2013
Сообщения
1 190
Благодарностей
786
Баллы
113
Contains заменить на EndsWith
 

bhairava7

Client
Регистрация
18.08.2015
Сообщения
154
Благодарностей
15
Баллы
18

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)