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

  • Автор темы Автор темы CSS
  • Дата начала Дата начала
Добрый день! Подскажите снипет
Нужно найти в переменной (текст):

Василий и заменить на (Коля|Петя|Толя)
Таня
и зименить (Юля|Света|Зоя)
и т.д...
Результат положить в переменную
 
  • Спасибо
Реакции: Radzhab
в табе нахожу нужный кусок по 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?
Я так понимаю надо сделать ребрендинг этой переменной, но не знаю как.
 
Если регулярное выражение должно быть четко такого формата:
(@"(?<=<a\ href="\#">)[\w\W]*?(?=</a></div>)");
Как его реализовать, если ошибка ведет на знак # - требует перед ним пробел, а с ним ничего не парсится
 
Если регулярное выражение должно быть четко такого формата:
(@"(?<=<a\ href="\#">)[\w\W]*?(?=</a></div>)");
Как его реализовать, если ошибка ведет на знак # - требует перед ним пробел, а с ним ничего не парсится
Не совсем понял что у тебя там требует.
Но кавычки в регулярке " экранируются такими же кавычками ", т.е. "" - если в тексте надо выпарсить с кавычкой. Ставится перед каждой кавычкой.
Так же если нужен пробел то попробуй обозначить его как \s, мне помогло.
 
  • Спасибо
Реакции: Gefest
Не совсем понял что у тебя там требует.
Но кавычки в регулярке " экранируются такими же кавычками ", т.е. "" - если в тексте надо выпарсить с кавычкой. Ставится перед каждой кавычкой.
Так же если нужен пробел то попробуй обозначить его как \s, мне помогло.
Все, спасибо!
Взял кавычки в ещё кавычки. До этого брал внешнее значение, а нужно было то что внутри
 
Если регулярное выражение должно быть четко такого формата:
(@"(?<=<a\ href="\#">)[\w\W]*?(?=</a></div>)");
Как его реализовать, если ошибка ведет на знак # - требует перед ним пробел, а с ним ничего не парсится
Ошибка указывает на кавычки, которые необходимо экранировать. Перед ними необходимо поставить обратный слеш \
Код:
Развернуть Свернуть Копировать
("(?<=<a href=\"#\">)[\\w\\W]*?(?=</a></div>)")
 
че ему надо?
Код:
Развернуть Свернуть Копировать
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);
}
 
j ++ пробел лишний. Напиши слитно j++
Изначально так и было. Решил попробовать с пробелом. Снова убрал пробел. Но не работает.
когда комментирую эту строку
// var cpc1 = cpc.GetByNumber(i).GetAttribute("InnerText");
то ошибка исчечает
 
Последнее редактирование:
попробуй так

var cpc1 = cpc.GetByNumber[j].GetAttribute("InnerText");
 
  • Спасибо
Реакции: Karamzin
не помогло :(
к тому же при подстановки [1] вместо [j] выдает

а вот при (1) все прекрасно работает
 
Здесь все корректно.
var cpc1 = cpc.GetByNumber(i).GetAttribute("InnerText");

Единственное атрибут - обычно там бывают href и прочее, но не innertext
Отпиши в скайп сделаю за так
 
  • Спасибо
Реакции: Karamzin
Доброго дня. Есть переменная, в которой содержаться ID через запятую вида 27,27,27,79,82,205,225,303,346..... ID около миллиона. Каким образом можно их брать по 500 штук?
 
В 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
Спасибо, буду пробовать
 

C#:
Развернуть Свернуть Копировать
var response = project.Variables["response"].Value; // переменая в которой текст

if(response.Contains("Василий"))
{
    response = response.Replace("Василий", "(Коля|Петя|Толя)");
    project.Variables["response"].Value = response;
}

ну и т.д, а вот в какую переменую сохранять я так и не понял, я сохранил в эту же при нахождении Василий
 
Аналогично для Тани
C#:
Развернуть Свернуть Копировать
var change = "Василий";
var rnd = new Random();
var txt ="(Коля|Петя|Толя)".Split('|').ToList();
change =  txt[rnd.Next(0,txt.Count()-1).Replace("\)","").Replace("\(","");
return change;
 
Здесь все корректно.
var cpc1 = cpc.GetByNumber(i).GetAttribute("InnerText");

Единственное атрибут - обычно там бывают href и прочее, но не innertext
Отпиши в скайп сделаю за так
Спасибо. Пока сделал через while.
 
C#:
Развернуть Свернуть Копировать
var response = project.Variables["response"].Value; // переменая в которой текст

if(response.Contains("Василий"))
{
    response = response.Replace("Василий", "(Коля|Петя|Толя)");
    project.Variables["response"].Value = response;
}

ну и т.д, а вот в какую переменую сохранять я так и не понял, я сохранил в эту же при нахождении Василий

Немного не так, нужно сделать спинтакс.
Результат:
(Коля|Петя|Толя)
А нужно что-то одно
 
Немного не так, нужно сделать спинтакс.
Результат:
(Коля|Петя|Толя)
А нужно что-то одно
ну тогда надо чуть точнее формулировать вопрос

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

написано же по русски что на что заменить
 
Всем привет. Есть вопрос по С# коде на 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, что подскажете?
 
Всем привет. Есть вопрос по С# коде на 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#
 
то, что ты пытаешься сделать, ничем не отличается от того, что делает изначальный код. Либо убери слово return, либо оставь первичный код и а переменную всунь свою экшн c#
Спасибо, почему-то не заметил элементарную вещь)
 
Как мне в поле ввода (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);
 

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