Подскажите с DropdownMultiSelect и колонками Exel

Dorian_Gray

Client
Регистрация
21.01.2018
Сообщения
226
Благодарностей
339
Баллы
63
Во входных настройках есть {имя|дата|пол}, которые должны включать запись в соответствующие им столбцы таблицы Excel.
Подскажите, как сделать так чтобы во входных настройках отображалось как имя|дата|пол, а записывалось в переменную входных настроек, как названия переменных.{-Variable.Name}{-Variable.Date-}{-Variable.gender-}
Думаю многим кто работает с парсингом пригодится. Благодарю
 

Вложения

  • 21,6 КБ Просмотры: 15

Dorian_Gray

Client
Регистрация
21.01.2018
Сообщения
226
Благодарностей
339
Баллы
63
Подсмотрел на форуме у Dimionix часть решения
Код:
string str = project.Variables["ww"].Value;
string input = @"[^,]+"; // что искать
string replacement = "{-Variable.Name-}"; // на что заменить
int i = 0; // номер совпадения
Regex reg = new Regex(input);
int index = reg.Matches(str)[i].Index;
str = reg.Replace(str, replacement, 1, index);
return str;
Но появился другой вопрос: string replacement = "{-Variable.Name-}" выводит не "{-Variable.Name-}" , а то что уже содержится в переменной т.е. имя
Как ее грамотно закоментить чтобы выводилось в ответ не содержание, а сама переменная.
А также как добавить мульти замену т.е. не только одного значения как в коде выше, а всех 3 и более.
 

Vlad_Curnoi

Client
Регистрация
09.08.2017
Сообщения
356
Благодарностей
156
Баллы
43
Подсмотрел на форуме у Dimionix часть решения
Код:
string str = project.Variables["ww"].Value;
string input = @"[^,]+"; // что искать
string replacement = "{-Variable.Name-}"; // на что заменить
int i = 0; // номер совпадения
Regex reg = new Regex(input);
int index = reg.Matches(str)[i].Index;
str = reg.Replace(str, replacement, 1, index);
return str;
Но появился другой вопрос: string replacement = "{-Variable.Name-}" выводит не "{-Variable.Name-}" , а то что уже содержится в переменной т.е. имя
Как ее грамотно закоментить чтобы выводилось в ответ не содержание, а сама переменная.
А также как добавить мульти замену т.е. не только одного значения как в коде выше, а всех 3 и более.
Должно быть так

Код:
string str = project.Variables["ww"].Value;
string input = @"[^,]+"; // что искать
string replacement = project.Variables["Name"].Value; // на что заменить
int i = 0; // номер совпадения
Regex reg = new Regex(input);
int index = reg.Matches(str)[i].Index;
str = reg.Replace(str, replacement, 1, index);
return str;
 
  • Спасибо
Реакции: Dorian_Gray

Dorian_Gray

Client
Регистрация
21.01.2018
Сообщения
226
Благодарностей
339
Баллы
63
Должно быть так

Код:
string str = project.Variables["ww"].Value;
string input = @"[^,]+"; // что искать
string replacement = project.Variables["Name"].Value; // на что заменить
int i = 0; // номер совпадения
Regex reg = new Regex(input);
int index = reg.Matches(str)[i].Index;
str = reg.Replace(str, replacement, 1, index);
return str;
Благодарю, нашел вариант лаконичнее. Т.К. Все начальные значения мы знаем то и парсить мы будет относительно их, а не относительно разделителя.
Наглядно показано что не только знание языка решает, но и парадигма.
Код:
string str = project.Variables["ww"].Value;
str = Regex.Replace(str, @"имя", "{-Variable.Name-=}");
str = Regex.Replace(str, @"пол", "{-Variable.gender-=}");
str = Regex.Replace(str, @"=", "");
return str;
 

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