Взять строку из списка содержащую три переменные

MaksimHelp

Client
Регистрация
23.09.2016
Сообщения
204
Благодарностей
7
Баллы
18
Есть список в нем строки с текстом, нужно взять строки которые содержат все три переменные.
 

djaga

Administrator
Команда форума
Регистрация
26.04.2020
Сообщения
546
Благодарностей
1 125
Баллы
93
Есть список в нем строки с текстом, нужно взять строки которые содержат все три переменные.
Привет. Приведете пример списка и какие переменные, решение будет точнее.

Возможно так:
Взять строки из списка по условию из трех переменных:
List<string> list = project.Lists["listZM"].ToList();
string var1 = project.Variables["var1"].Value;
string var2 = project.Variables["var2"].Value;
string var3 = project.Variables["var3"].Value;

List<string> resList = list.Where(s => Regex.IsMatch(s, $"[\\w\\W]*{var1}[\\w\\W]*")
                                    && Regex.IsMatch(s, $"[\\w\\W]*{var2}[\\w\\W]*")
                                    && Regex.IsMatch(s, $"[\\w\\W]*{var3}[\\w\\W]*"))
                            .ToList();
project.Lists["listZM"].Clear();
project.Lists["listZM"].AddRange(resList);
Переменные:
1670785499918.png
Было:
1670785429395.png
Стало:
1670785463019.png

upd: исправил маленькую опечатку и добавил шаблон ↓
 

Вложения

Последнее редактирование:
  • Спасибо
Реакции: Demiz, Sho и Ilshakin

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