Как в одном кубике C# добавить несколько регулярок

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

yreha

Client
Регистрация
19.11.2015
Сообщения
132
Реакции
3
Баллы
18
Допустим есть

string Test = project.Variables["src"].Value;
string regexTest = System.Text.RegularExpressions.Regex.Replace(Test, @"%2f", "/");
return regexTest;

надо добавить
string regexTest = System.Text.RegularExpressions.Regex.Replace(Test, @"%3f", "?");
 
обработка одной переменной src
 
сложно понять, зачем здесь замена по регуляректе, тут и обычная замена подойдет. Более того, похоже ты просто хочешь декодировать ссылку, и для этого есть метод в кубике обработки текста
 
9287c4f27f2e0c84f1350e10991fce01.png
 
  • Оценить
Реакции: Roman* и yreha
Код:
Развернуть Свернуть Копировать
string Test = project.Variables["src"].Value;
string regexTest = System.Text.RegularExpressions.Regex.Replace(Test, @"%2f", "/");
regexTest = System.Text.RegularExpressions.Regex.Replace(Test, @"%3f", "?");
return regexTest;
 
  • Оценить
Реакции: yreha
Спасибо а еще у меня идут несколько подряд кубиков C# их можно както обеденить в один тоесть общий код?
 
Спасибо а еще у меня идут несколько подряд кубиков C# их можно както обеденить в один тоесть общий код?
Всё можно, главное переменные свяжи правильно.
P.S. у меня свой вопрос: как вернуться к прошедшим действиям в С#, есть ли у кого-то примеры, а то я циклы большие хочу реализовать с выполнением комплекса действий по множеству раз в зависимости от условий и возвращаться к старым действиям придется.
 
  • Оценить
Реакции: yreha
Всё можно, главное переменные свяжи правильно.
P.S. у меня свой вопрос: как вернуться к прошедшим действиям в С#, есть ли у кого-то примеры, а то я циклы большие хочу реализовать с выполнением комплекса действий по множеству раз в зависимости от условий и возвращаться к старым действиям придется.
http://professorweb.ru/my/csharp/charp_theory/level3/3_15.php
http://professorweb.ru/my/csharp/charp_theory/level3/3_16.php
 
  • Оценить
Реакции: yreha
Чтото у меня не получаеться нужно забрать значение регуляркой и перевести в урл енкоде у меня два кубика как сделать один

вот регулярка


var resultHttpGet = project.Variables["get1"].Value;

if (String.IsNullOrEmpty(resultHttpGet))
throw new Exception("не смогли загрузить страницу");
var pattern = @"(?<=<a\ href="").*(?="">here)";
var matches = Regex.Matches(resultHttpGet, pattern).Cast<Match>().Select(match => match.Value).ToList();;
return string.Join("\r\n",matches);


Записываю в переменную src

здесь урл енкод


var url = project.Variables["src"].Value;
var data = System.Web.HttpUtility.UrlDecode(url);
return data;


Можно их обеденить спасибо!
 
Код:
Развернуть Свернуть Копировать
string Test = project.Variables["src"].Value;
string regexTest = System.Text.RegularExpressions.Regex.Replace(Test, @"%2f", "/");
regexTest = System.Text.RegularExpressions.Regex.Replace(Test, @"%3f", "?");
return regexTest;
а зачем так, если можно так
string regexTest = System.Text.RegularExpressions.Regex.Replace(Test, @"%2f", "/").Replace(Test, @"%3f", "?");
 
а зачем так, если можно так
string regexTest = System.Text.RegularExpressions.Regex.Replace(Test, @"%2f", "/").Replace(Test, @"%3f", "?");
Потому что так не работает т.к. Replace это независимый метод поиска и замены обычного текста, который принимает 2 аргумента.
 
а зачем так, если можно просто юрлдекод прописать?
пропёрся я значит )) и не заметил что оказывается ещё и меньшей строкой можно было обойтись, не прочитал честно что именно ТС хотел
 
Потому что так не работает т.к. Replace это независимый метод поиска и замены обычного текста, который принимает 2 аргумента.
Это кто такое сказал ???

P.S. Ты реплэсить хоть +100500 раз можешь в одной строке кода
 
А как в С# можно заменить реплейс, если у тебя не 10 замен, а штук 50 разнообразных и они записаны в формате "1/текст1, 2/текст2 ..., 50/текст50", где заменяется текст "1" на "текст 1" и т.д.?
 
два аргумента это когда так например думаю будет выглядит
А как в С# можно заменить реплейс, если у тебя не 10 замен, а штук 50 разнообразных и они записаны в формате "1/текст1, 2/текст2 ..., 50/текст50", где заменяется текст "1" на "текст 1" и т.д.?
Тут идёт разговор о строках а не о файлах, а тоесть даже о теле
 
А как в С# можно заменить реплейс, если у тебя не 10 замен, а штук 50 разнообразных и они записаны в формате "1/текст1, 2/текст2 ..., 50/текст50", где заменяется текст "1" на "текст 1" и т.д.?
я не знаю, есть ли аналоги, куда просто массивы передаются, но как минимум можно использовать обычный реплейс в цикле
 
А как в С# можно заменить реплейс, если у тебя не 10 замен, а штук 50 разнообразных и они записаны в формате "1/текст1, 2/текст2 ..., 50/текст50", где заменяется текст "1" на "текст 1" и т.д.?
ну или если тебя устраивает что тебе надо 50 экшешенов замены создать, то я тогда в шоке что там за проект, ты всегда можешь подобрать замену которая урежет не одно действие а может бюльше
 
Это кто такое сказал ???

P.S. Ты реплэсить хоть +100500 раз можешь в одной строке кода
Блин, реплейсить то можно +100500 раз, но содержать он может 2 аргумента - ЧТО МЫ МЕНЯЕМ и НА ЧТО МЫ МЕНЯЕМ, а у Вас их там 3. Посмотрите внимательнее.
 
Блин, реплейсить то можно +100500 раз, но содержать он может 2 аргумента - ЧТО МЫ МЕНЯЕМ и НА ЧТО МЫ МЕНЯЕМ, а у Вас их там 3. Посмотрите внимательнее.
Там переменная указана и 2 аргумента в скобках
 
что дали то и скопировал )))))))
 
Там переменная указана и 2 аргумента в скобках
Я извиняюсь, но у вас обоих видимо что-то со зрением:
а зачем так, если можно так
string regexTest = System.Text.RegularExpressions.Regex.Replace(Test, @"%2f", "/").Replace(Test, @"%3f", "?");

Специально выделил жирным.
 
  • Оценить
Реакции: doc
Я извиняюсь, но у вас обоих видимо что-то со зрением:


Специально выделил жирным.
ещё раз повторюсь не заметив что там три аргумента просто скопипастил, ты хоть мне смс на телефон пришли но реплэйсить можно милиард рад раз в одной строке, переправить эту строку думаю не составит хлопот
 
есть одна переменая, и реплэйсь её пока она не посинеет ))
 
Блин, реплейсить то можно +100500 раз, но содержать он может 2 аргумента - ЧТО МЫ МЕНЯЕМ и НА ЧТО МЫ МЕНЯЕМ, а у Вас их там 3. Посмотрите внимательнее.
Так 3 аргумента, а С# в коде позволяет использовать конструкцию System.Text.RegularExpressions.Regex.Replace(переменная , "что меняем", "на что меняем")
в Replace передается 2 параметра. 3 передается в Regex.Replace
Ну это я и имел ввиду, может просто неправильно понял меня или я не совсем доходчиво объяснил.
 
ещё раз повторюсь не заметив что там три аргумента просто скопипастил, ты хоть мне смс на телефон пришли но реплэйсить можно милиард рад раз в одной строке, переправить эту строку думаю не составит хлопот
Вы издеваетесь надомной? :)
Я хоть где-то упомянул, что ограниченно количество реплейсов?

Я утверждаю то, что:
1. System.Text.RegularExpressions.Regex.Replace
2. .Replace

Это совершенно разные методы. Речь шла о реплейсе регулярками, а у в Вашем примере всего один метод System.Text.RegularExpressions.Regex.Replace, а не два, как должно быть.
 
Regex.Replace(переменная , "что меняем", "на что меняем")
 

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