Помогите с C#

Dimon174

Client
Регистрация
30.12.2019
Сообщения
18
Благодарностей
10
Баллы
3
Доброго времени суток, форумчане. Помогите пожалуйста новичку поправить код C#

Суть в том, что я при помощи регулярных выражений, вытаскиваю нужные мне значения, которые получил путем GET запросов.
До этого пользовался кубиками Обработка текста - Regex.
Но так как нужно обрабатывать много запросов, начал искать решение этих кубиков на C#, и нашел такой рабочий код (который сейчас использую):

C#:
string text = project.ExecuteMacro(project.Variables["GET"].Value);
project.Variables["title"].Value = Macros.TextProcessing.Regex(text, @"(?<='name'\ :\ ').*(?=',)", "0")[0].FirstOrDefault();
string text2 = project.ExecuteMacro(project.Variables["GET"].Value);
project.Variables["Description"].Value = Macros.TextProcessing.Regex(text2, @"(?<=am-condition>)[\w\W]*?(?=</div>)", "0")[0].FirstOrDefault();
Проблема в том, что если значение одной из переменой оказывается пустой (так как на сайте это значение не заполнено), то кубик C# уходит по красной ветке.
Поправьте пожалуйста код, что бы кубик #C не уходил по красной ветке, если значение одной из переменных окажется пустым после выполнения регулярного выражения! Заранее спасибо :-)
 

Phoenix78

Client
Read only
Регистрация
06.11.2018
Сообщения
11 790
Благодарностей
5 690
Баллы
113

Dimon174

Client
Регистрация
30.12.2019
Сообщения
18
Благодарностей
10
Баллы
3
Посмотреть вложение 50667

выставить свойство необязательный
Это не совсем то что нужно, так как в одном коде используется несколько регулярных выражений. К примеру получение title, цены, описания, url картинки и тд. А если выбирать как необязательное, то код работает следующим образом; обрабатывает 1 переменную, затем идет ко 2 и видит что она не выполнена - начинает пропуск всего C# кубика, не обработав 3 и 4 переменную.
 

Dimon174

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

Phoenix78

Client
Read only
Регистрация
06.11.2018
Сообщения
11 790
Благодарностей
5 690
Баллы
113
C#:
try {project.Variables["title"].Value = Macros.TextProcessing.Regex(text, @"(?<='name'\ :\ ').*(?=',)", "0")[0].FirstOrDefault();} catch{project.Variables["title"].Value="";}
по аналогии остальные обернуть
 
  • Спасибо
Реакции: Dimon174

Dimon174

Client
Регистрация
30.12.2019
Сообщения
18
Благодарностей
10
Баллы
3
C#:
try {project.Variables["title"].Value = Macros.TextProcessing.Regex(text, @"(?<='name'\ :\ ').*(?=',)", "0")[0].FirstOrDefault();} catch{project.Variables["title"].Value="";}
по аналогии остальные обернуть
Спасибо большое, все работает :-)
 

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