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

  • Автор темы Автор темы bhairava7
  • Дата начала Дата начала

bhairava7

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

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

Код:
Развернуть Свернуть Копировать
//массив окончаний
string[] array_strs =
{
"вет",
"в",
"ив"
};

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

и если есть строка "вет" из массива array_strs в строке search_str, например, то возвращать в переменную "вет", если нет, то пустоту.
 
Последнее редактирование:
более изящное, чем какое? в принципе, можете загнать всё в одну переменную и потом по ней искать с помощью .Contains().
 
var found = array_strs.First(str=>search_str.Contains(str));
return (found == nulll)?"":found;
 
  • Спасибо
Реакции: Atomic и bhairava7
более изящное, чем какое? в принципе, можете загнать всё в одну переменную и потом по ней искать с помощью .Contains().
чем проход по массиву foreach или for)
На счёт "загнать всё в одну переменную и потом по ней искать" не совсем понял, мне же нужно найти в строке любой из элементов массива.
Но благодарю за Contains! :-)

var found = array_strs.First(str=>search_str.Contains(str));
return (found == nulll)?"":found;

Вот почти то, что и имел ввиду! :-)

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

Благодарю!!! :-)
 
var found = array_strs.First(str=>search_str.Contains(str));
return (found == nulll)?"":found;

Прошу прощения, вчера не посмотрел в лог, поэтому и задал вопрос на счёт .First, в nulll была лишняя L, теперь всё как часы)
Благодарю еще раз!

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

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