Помогите с поиском совпадений в тексте

DrunkDeath

Client
Регистрация
24.12.2014
Сообщения
570
Благодарностей
384
Баллы
63
Привет. Уже долгое время бьюсь над этой проблемой, форум облазил, но то что нашёл не подошло. В общем суть проблемы:

Если текст, допустим : Мои любимые игры (Пусть будет в переменой TMP2)
И есть список с ключами с каждой строки (Keys):
1)Дом
2)Игры
3)Зенно

Надо проверить есть ли в тексте, хоть одно совпадение с этими ключами. Пробовал этот код:

Код:
// берем из переменной текст, который надо искать
var textContains = project.Variables["TMP2"].Value;
// получаем список, в котором будем искать
var sourceList = project.Lists["Keys"];
// ищем в каждой строчке в списке
lock(SyncObjects.ListSyncer)
{
    for(int i=0; i < sourceList.Count; i++)
    {
        // читаем строку из списка
        var str = sourceList[i];
        // проверяем содержание текста в строке, если есть совпадение возвращаем "yes"
        if (str.Contains(textContains))
        {
return "yes";
}
}
}
// если ничего не нашли возвращаем "no"
return "no";
но он работает только при полном совпадении фразы и ключа, а надо чтоб по наличию хотя бы одного ключа имеющегося в тексте

Надеюсь на Вашу помощь.
Заранее спасибо.
 

Dimionix

Moderator
Регистрация
09.04.2011
Сообщения
3 068
Благодарностей
3 102
Баллы
113
Заменить строку
Код:
if (str.Contains(textContains))
на
Код:
if (textContains.Contains(str))
 
  • Спасибо
Реакции: redman и DrunkDeath

DrunkDeath

Client
Регистрация
24.12.2014
Сообщения
570
Благодарностей
384
Баллы
63

keltuzhaknut

Client
Регистрация
24.02.2016
Сообщения
221
Благодарностей
3
Баллы
18
спасибо
 

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