Бесплатные снипеты на заказ

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 379
Благодарностей
2 039
Баллы
113

Dan

Client
Регистрация
26.11.2015
Сообщения
31
Благодарностей
13
Баллы
8
Добрый день! Подскажите снипет
Нужно найти в переменной (текст):

Василий и заменить на (Коля|Петя|Толя)
Таня
и зименить (Юля|Света|Зоя)
и т.д...
Результат положить в переменную
 
  • Спасибо
Реакции: Radzhab

Karamzin

Client
Регистрация
24.05.2016
Сообщения
214
Благодарностей
431
Баллы
63
в табе нахожу нужный кусок по xpath и кладу в переменную
Код:
var per = instance.ActiveTab.FindElementByXPath("//div[@id='indeksacia']/../div[@class='box-content']/descendant::a[1]", 0).InnerText.Trim();
return project.Variables["per"].Value = per;
Хочу сделать через гет запрос. Беру DOM кладу в переменную.
Как потом в этой переменной найти то что мне нужно по xpath?
Я так понимаю надо сделать ребрендинг этой переменной, но не знаю как.
 

Gefest

Client
Регистрация
30.04.2016
Сообщения
73
Благодарностей
14
Баллы
8
Если регулярное выражение должно быть четко такого формата:
(@"(?<=<a\ href="\#">)[\w\W]*?(?=</a></div>)");
Как его реализовать, если ошибка ведет на знак # - требует перед ним пробел, а с ним ничего не парсится
 

Karamzin

Client
Регистрация
24.05.2016
Сообщения
214
Благодарностей
431
Баллы
63
Если регулярное выражение должно быть четко такого формата:
(@"(?<=<a\ href="\#">)[\w\W]*?(?=</a></div>)");
Как его реализовать, если ошибка ведет на знак # - требует перед ним пробел, а с ним ничего не парсится
Не совсем понял что у тебя там требует.
Но кавычки в регулярке " экранируются такими же кавычками ", т.е. "" - если в тексте надо выпарсить с кавычкой. Ставится перед каждой кавычкой.
Так же если нужен пробел то попробуй обозначить его как \s, мне помогло.
 
  • Спасибо
Реакции: Gefest

Gefest

Client
Регистрация
30.04.2016
Сообщения
73
Благодарностей
14
Баллы
8
Не совсем понял что у тебя там требует.
Но кавычки в регулярке " экранируются такими же кавычками ", т.е. "" - если в тексте надо выпарсить с кавычкой. Ставится перед каждой кавычкой.
Так же если нужен пробел то попробуй обозначить его как \s, мне помогло.
Все, спасибо!
Взял кавычки в ещё кавычки. До этого брал внешнее значение, а нужно было то что внутри
 

ibred

Client
Регистрация
04.04.2015
Сообщения
3 835
Благодарностей
3 542
Баллы
113
Если регулярное выражение должно быть четко такого формата:
(@"(?<=<a\ href="\#">)[\w\W]*?(?=</a></div>)");
Как его реализовать, если ошибка ведет на знак # - требует перед ним пробел, а с ним ничего не парсится
Ошибка указывает на кавычки, которые необходимо экранировать. Перед ними необходимо поставить обратный слеш \
Код:
("(?<=<a href=\"#\">)[\\w\\W]*?(?=</a></div>)")
 

Karamzin

Client
Регистрация
24.05.2016
Сообщения
214
Благодарностей
431
Баллы
63
че ему надо?
Код:
var cpc = instance.ActiveTab.FindElementsByXPath("//label[@class='js-guarantee-pos']/span[@class='js-value sort-bid_price']");
int keyCount = cpc.Count;
var cpcList = project.Lists["cpcList"];

for (int j = 0; j < keyCount; j ++);
{  
    var cpc1 = cpc.GetByNumber(j).GetAttribute("InnerText");
    cpcList.Add(cpc1);
}
 

Radzhab

Client
Регистрация
23.05.2014
Сообщения
1 500
Благодарностей
1 263
Баллы
113
j ++ пробел лишний. Напиши слитно j++
 
  • Спасибо
Реакции: Karamzin

Karamzin

Client
Регистрация
24.05.2016
Сообщения
214
Благодарностей
431
Баллы
63
j ++ пробел лишний. Напиши слитно j++
Изначально так и было. Решил попробовать с пробелом. Снова убрал пробел. Но не работает.
когда комментирую эту строку
// var cpc1 = cpc.GetByNumber(i).GetAttribute("InnerText");
то ошибка исчечает
 
Последнее редактирование:

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 379
Благодарностей
2 039
Баллы
113
попробуй так

var cpc1 = cpc.GetByNumber[j].GetAttribute("InnerText");
 
  • Спасибо
Реакции: Karamzin

Karamzin

Client
Регистрация
24.05.2016
Сообщения
214
Благодарностей
431
Баллы
63
не помогло :(
к тому же при подстановки [1] вместо [j] выдает

а вот при (1) все прекрасно работает
 

Radzhab

Client
Регистрация
23.05.2014
Сообщения
1 500
Благодарностей
1 263
Баллы
113
Здесь все корректно.
var cpc1 = cpc.GetByNumber(i).GetAttribute("InnerText");

Единственное атрибут - обычно там бывают href и прочее, но не innertext
Отпиши в скайп сделаю за так
 
  • Спасибо
Реакции: Karamzin

stanar

Client
Регистрация
19.12.2015
Сообщения
314
Благодарностей
157
Баллы
43
Доброго дня. Есть переменная, в которой содержаться ID через запятую вида 27,27,27,79,82,205,225,303,346..... ID около миллиона. Каким образом можно их брать по 500 штук?
 

Radzhab

Client
Регистрация
23.05.2014
Сообщения
1 500
Благодарностей
1 263
Баллы
113
В tmpLst в каждом цикле по 500 элементов
C#:
var lst = project.Lists["Список"];
for (int i=0; i<lst.Count; i+500)
   {   
        var tmpLst = i==0 ? lst.Skip(0).Take(500):lst.Skip(i).Take(500);
   }
 
  • Спасибо
Реакции: ibred

stanar

Client
Регистрация
19.12.2015
Сообщения
314
Благодарностей
157
Баллы
43
Спасибо, буду пробовать
 

Dan

Client
Регистрация
26.11.2015
Сообщения
31
Благодарностей
13
Баллы
8

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 379
Благодарностей
2 039
Баллы
113
C#:
var response = project.Variables["response"].Value; // переменая в которой текст

if(response.Contains("Василий"))
{
    response = response.Replace("Василий", "(Коля|Петя|Толя)");
    project.Variables["response"].Value = response;
}
ну и т.д, а вот в какую переменую сохранять я так и не понял, я сохранил в эту же при нахождении Василий
 

Radzhab

Client
Регистрация
23.05.2014
Сообщения
1 500
Благодарностей
1 263
Баллы
113
Аналогично для Тани
C#:
var change = "Василий";
var rnd = new Random();
var txt ="(Коля|Петя|Толя)".Split('|').ToList();
change =  txt[rnd.Next(0,txt.Count()-1).Replace("\)","").Replace("\(","");
return change;
 

Karamzin

Client
Регистрация
24.05.2016
Сообщения
214
Благодарностей
431
Баллы
63
Здесь все корректно.
var cpc1 = cpc.GetByNumber(i).GetAttribute("InnerText");

Единственное атрибут - обычно там бывают href и прочее, но не innertext
Отпиши в скайп сделаю за так
Спасибо. Пока сделал через while.
 

Dan

Client
Регистрация
26.11.2015
Сообщения
31
Благодарностей
13
Баллы
8
C#:
var response = project.Variables["response"].Value; // переменая в которой текст

if(response.Contains("Василий"))
{
    response = response.Replace("Василий", "(Коля|Петя|Толя)");
    project.Variables["response"].Value = response;
}
ну и т.д, а вот в какую переменую сохранять я так и не понял, я сохранил в эту же при нахождении Василий
Немного не так, нужно сделать спинтакс.
Результат:
(Коля|Петя|Толя)
А нужно что-то одно
 

Radzhab

Client
Регистрация
23.05.2014
Сообщения
1 500
Благодарностей
1 263
Баллы
113

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 379
Благодарностей
2 039
Баллы
113
Немного не так, нужно сделать спинтакс.
Результат:
(Коля|Петя|Толя)
А нужно что-то одно
ну тогда надо чуть точнее формулировать вопрос

Добрый день! Подскажите снипет
Нужно найти в переменной (текст):
Василий и заменить на (Коля|Петя|Толя)

написано же по русски что на что заменить
 

Yurii

Client
Регистрация
04.02.2016
Сообщения
94
Благодарностей
9
Баллы
8
Всем привет. Есть вопрос по С# коде на regex :
Код:
var text = project.Variables["get_googl_doc"].Value;
var pattern = @project.Variables["regilar_time_for_claime"].Value;
var result = System.Text.RegularExpressions.Regex.Match(text, pattern).Value;
return result;
Мне нужно, чтобы результат возвращался в конкретную регулярку, пробую вместо
Код:
return result;
ставить значение
Код:
return project.Variables["regular"].Value = result;
.
Возвращается -1, что подскажете?
 

doc

Client
Регистрация
30.03.2012
Сообщения
8 605
Благодарностей
4 596
Баллы
113
Всем привет. Есть вопрос по С# коде на regex :
Код:
var text = project.Variables["get_googl_doc"].Value;
var pattern = @project.Variables["regilar_time_for_claime"].Value;
var result = System.Text.RegularExpressions.Regex.Match(text, pattern).Value;
return result;
Мне нужно, чтобы результат возвращался в конкретную регулярку, пробую вместо
Код:
return result;
ставить значение
Код:
return project.Variables["regular"].Value = result;
.
Возвращается -1, что подскажете?
то, что ты пытаешься сделать, ничем не отличается от того, что делает изначальный код. Либо убери слово return, либо оставь первичный код и а переменную всунь свою экшн c#
 

Yurii

Client
Регистрация
04.02.2016
Сообщения
94
Благодарностей
9
Баллы
8
то, что ты пытаешься сделать, ничем не отличается от того, что делает изначальный код. Либо убери слово return, либо оставь первичный код и а переменную всунь свою экшн c#
Спасибо, почему-то не заметил элементарную вещь)
 

Karamzin

Client
Регистрация
24.05.2016
Сообщения
214
Благодарностей
431
Баллы
63
Как мне в поле ввода (textarea) на странице вставить не переменную, а список?
Код:
HtmlElement he = instance.ActiveTab.FindElementById("ad-words");
if (he.IsVoid) return -1;
instance.WaitFieldEmulationDelay();

var list = project.Lists["statList0"];
he.SetValue(list, instance.EmulationLevel, false);
 

doc

Client
Регистрация
30.03.2012
Сообщения
8 605
Благодарностей
4 596
Баллы
113
попробуй заменить list в конце на string.Join("\r\n", list)
 
  • Спасибо
Реакции: Karamzin

megafarad

Новичок
Регистрация
01.09.2016
Сообщения
13
Благодарностей
0
Баллы
1

megafarad

Новичок
Регистрация
01.09.2016
Сообщения
13
Благодарностей
0
Баллы
1

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