Помогите с C#

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

Dimon174

Client
Регистрация
30.12.2019
Сообщения
26
Реакции
27
Баллы
13
Доброго времени суток, форумчане. Помогите пожалуйста новичку поправить код 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 не уходил по красной ветке, если значение одной из переменных окажется пустым после выполнения регулярного выражения! Заранее спасибо :-)
 
50667


выставить свойство необязательный
 
  • Спасибо
Реакции: Dimon174
Посмотреть вложение 50667

выставить свойство необязательный
Это не совсем то что нужно, так как в одном коде используется несколько регулярных выражений. К примеру получение title, цены, описания, url картинки и тд. А если выбирать как необязательное, то код работает следующим образом; обрабатывает 1 переменную, затем идет ко 2 и видит что она не выполнена - начинает пропуск всего C# кубика, не обработав 3 и 4 переменную.
 
C#:
Развернуть Свернуть Копировать
try {project.Variables["title"].Value = Macros.TextProcessing.Regex(text, @"(?<='name'\ :\ ').*(?=',)", "0")[0].FirstOrDefault();} catch{project.Variables["title"].Value="";}
по аналогии остальные обернуть
 
  • Спасибо
Реакции: Dimon174
C#:
Развернуть Свернуть Копировать
try {project.Variables["title"].Value = Macros.TextProcessing.Regex(text, @"(?<='name'\ :\ ').*(?=',)", "0")[0].FirstOrDefault();} catch{project.Variables["title"].Value="";}
по аналогии остальные обернуть
Спасибо большое, все работает :-)
 

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