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

  • Автор темы Автор темы CSS
  • Дата начала Дата начала
Не знаю как именно только символы перекодировать, но можете посмотреть как этот код работает, может оно и нужно:
C#:
Развернуть Свернуть Копировать
return System.Net.WebUtility.UrlEncode(project.Variables["text"].Value);
таким образом и все русские слова перекодирует
 
Снипет для замен в таблице

Добрый день!


Кто поможет со снипетом? Мне нужно делать массовые замены в столбцах таблицы. Делать замену нужно в одном столбце для всех ячеек.

Настройки: Возможность указать столбец в котором нужно сделать замену


Пример: нужно заменить в Столбец3 все слова «подгузники» на «подгузники Памперс» (Смотрите скрин)
 

Вложения

  • Безымянный.png
    Безымянный.png
    25,6 KB · Просмотры: 40
Здравствуйте. Помогите пожалуйста, я либо не нашел, либо плохо искал.
У меня есть exel файл, есть переменная r_n с названием района, мне нужно найти нужный район в столбце А и взять в r-n_value значение столбца B соответствующее найденному району
Скрин таблицы прикрепил. Заранее всем спасибо!
 

Вложения

  • Безымянный.png
    Безымянный.png
    8,8 KB · Просмотры: 13
есть ли возможность обойти задержку между распознанием рекапчи2 ? то есть чтоб она за 3 сек разгадывалась примерно или меньше
 
ускорить рекапчи2 без вариантов? есть идеи? непонятно просто почему в капмонстре пишет время распознавания 0,3 - 0,6сек а по факту получается секунд 20-35??? ето задержка из-за усложнения?
спасибо!
 
Последнее редактирование:
ускорить рекапчи2 без вариантов? есть идеи? непонятно просто почему в капмонстре пишет время распознавания 0,3 - 0,6сек а по факту получается секунд 20-35??? ето задержка из-за усложнения?
спасибо!
в справке всё подробно описано почему задержка
 
Здравствуйте, нужна программа которая сохраняет данные из переменной в тестовый файл в кодировке UTF-8.
 
Здравствуйте!

Возможно ли реализовать с помощью С# следующую задачу.
1) Берем ДОМ страницы и производим парс, кладем в переменную 1
2) В переменной "1" опять надо сделать парс, кладем в переменную 2
3) В переменной "2" опять делаем парс и кладем результат в переменную 3
4) Сравниваем получившийся результат в переменной "3" с четырьмя значениями по условию, и в случае совпадения условия записать определенный текст.
Спасибо за внимание!
 
Здравствуйте!

Возможно ли реализовать с помощью С# следующую задачу.
Привет!
Возможно!
А обязательно нужно парсить несколько раз, может сразу брать нужный результат в переменную 3?
4) Сравниваем получившийся результат в переменной "3" с четырьмя значениями по условию, и в случае совпадения условия записать определенный текст.
Здесь нужно поподробнее что-куда.
 
Парсить приходится в несколько шагов, что бы добиться 100% попадания. В противном случае много совпадений и необходимо привязывать списки.
Что касается четвертого пункта, его решил с помощью предложенной вами же ранее схемой, в этой ветке.
 
Подскажите сниппет взятия регекспом всего не в список а в переменную
типа вот так https://yadi.sk/i/y7H_If0qqSjrq но что бы результат попадал в переменную.
 
Подскажите сниппет взятия регекспом всего не в список а в переменную
типа вот так https://yadi.sk/i/y7H_If0qqSjrq но что бы результат попадал в переменную.
C#:
Развернуть Свернуть Копировать
string text = project.Variables["be"].Value;
Regex reg = new Regex(@"[a-z0-9_-]+$");
MatchCollection matches = reg.Matches(text);
StringBuilder strb = new StringBuilder();

for (int i = 0; i < matches.Count; i++)
{
    strb.Append(matches[i].Value + "\r\n");
}

return strb.ToString().Trim();
или так
C#:
Развернуть Свернуть Копировать
string text = project.Variables["be"].Value;
Regex reg = new Regex(@"[a-z0-9_-]+$");
MatchCollection matches = reg.Matches(text);
List<string> tmpList = new List<string>();

for (int i = 0; i < matches.Count; i++)
{
    tmpList.Add(matches[i].Value);
}

return string.Join("\r\n", tmpList);
 
Последнее редактирование:
C#:
Развернуть Свернуть Копировать
string text = project.Variables["be"].Value;
Regex reg = new Regex(@"[a-z0-9_-]+$");
MatchCollection matches = reg.Matches(text);
StringBuilder strb = new StringBuilder();

for (int i = 0; i < matches.Count; i++)
{
    strb.Append(matches[i].Value + "\r\n");
}

return strb.ToString().Trim();
или так
C#:
Развернуть Свернуть Копировать
string text = project.Variables["be"].Value;
Regex reg = new Regex(@"[a-z0-9_-]+$");
MatchCollection matches = reg.Matches(text);
List<string> tmpList = new List<string>();

for (int i = 0; i < matches.Count; i++)
{
    tmpList.Add(matches[i].Value);
}

return string.Join("\r\n", tmpList);

Спасибо
 
А обязательно нужно парсить несколько раз, может сразу брать нужный результат в переменную 3?
Если бы можно было вставлять что то типо скипа в условия парса, было бы проще, а так приходится несколько раз парсить из за плавающих значений.
 
Если бы можно было вставлять что то типо скипа в условия парса, было бы проще, а так приходится несколько раз парсить из за плавающих значений.
C#:
Развернуть Свернуть Копировать
string text = instance.ActiveTab.DomText;
Match match1 = Regex.Match(text, "Регулярка1");
Match match2 = Regex.Match(match1.Value, "Регулярка2");
Match match3 = Regex.Match(match2.Value, "Регулярка3");
return match3.Value;
 
C#:
Развернуть Свернуть Копировать
string text = instance.ActiveTab.DomText;
Match match1 = Regex.Match(text, "Регулярка1");
Match match2 = Regex.Match(match1.Value, "Регулярка2");
Match match3 = Regex.Match(match2.Value, "Регулярка3");
return match3.Value;


Попробовал сделать со своими значениями. Вот код :
Код:
Развернуть Свернуть Копировать
string text = instance.ActiveTab.DomText;
Match match1 = Regex.Match(text, "(?<=Products:\ <select\ name=').*(?=</select>)");
Match match2 = Regex.Match(match1.Value, "(?<=value='1270').*?(?=on>)");
return match2.Value;

Появляется ошибка: "нераспознанная управляющая последовательность" , что надо исправить?
 
Появляется ошибка: "нераспознанная управляющая последовательность" , что надо исправить?
Убрать экранирование пробелов в первой регулярке
Код:
Развернуть Свернуть Копировать
(?<=Products: <select name=').*(?=</select>)
или поставить @ перед кавычками
Код:
Развернуть Свернуть Копировать
Match match1 = Regex.Match(text, @"(?<=Products:\ <select\ name=').*(?=</select>)");
 
  • Спасибо
Реакции: AloneSlamer и serg32
Убрать экранирование пробелов в первой регулярке
Код:
Развернуть Свернуть Копировать
(?<=Products: <select name=').*(?=</select>)
или поставить @ перед кавычками
Код:
Развернуть Свернуть Копировать
Match match1 = Regex.Match(text, @"(?<=Products:\ <select\ name=').*(?=</select>)");
Спасибо! Почему то многие регулярки начинают работать криво после переноса их из парса дома в экшенах, в код С. Какие правила обработки внутри кода? Типо как с " и @ , какие еще есть запары? Как я понял C не нравится когда в регулярке присутствует символ " , а что делать если он учтен в построении регулярки? Или на С надо другие писать?
 
Последнее редактирование:
Здравствуйте, подскажите пожалуйста как в C# написать такой кубик

V7g2U.jpg


интересует именно то что я выделил красным. Обыскал весь форум и нечего не нашел=(

Мне тут начало помогли написать а дальше говорят колхоз городить надо:ak:

C#:
Развернуть Свернуть Копировать
var list = project.Lists["List"];
// Удалить первую строку
list.RemoveAt(0);
// Удалить по номеру (напр., пятую)
list.RemoveAt(4);
// Указать значение
list.Remove("тут строка которую удаляем");
// Удалить все элементы (очистить список)
list.Clear();

Думаю это будет полезно многим. бывают случаи когда при работе со списком приходится выстраивать по 10-15 экшенов друг за другом, а так будет все в одном кубике C# а не в 10-15
 
Последнее редактирование:
  • Спасибо
Реакции: Dimionix и serg32
Удалить элементы содержащие текст
C#:
Развернуть Свернуть Копировать
var list = project.Lists["List"];
string text = "Текст";
lock (SyncObjects.ListSyncer)
{
    for (int i = 0; i < list.Count; i++)
    {
        string str = list[i];
        if (str.Contains(text))
        {
            list.RemoveAt(i);
            i--;
        }
    }
}
Удалить элементы не содержащие текст
C#:
Развернуть Свернуть Копировать
var list = project.Lists["List"];
string text = "Текст";
lock (SyncObjects.ListSyncer)
{
    for (int i = 0; i < list.Count; i++)
    {
        string str = list[i];
        if (!str.Contains(text))
        {
            list.RemoveAt(i);
            i--;
        }
    }
}
Удалить элементы, удовлетворяющие регулярному выражению
C#:
Развернуть Свернуть Копировать
var list = project.Lists["List"];
Regex reg = new Regex("Регулярка");
lock (SyncObjects.ListSyncer)
{
    for (int i = 0; i < list.Count; i++)
    {
        string str = list[i];
        if (reg.IsMatch(str))
        {
            list.RemoveAt(i);
            i--;
        }
    }
}
Удалить элементы, не удовлетворяющие регулярному выражению
C#:
Развернуть Свернуть Копировать
var list = project.Lists["List"];
Regex reg = new Regex("Регулярка");
lock (SyncObjects.ListSyncer)
{
    for (int i = 0; i < list.Count; i++)
    {
        string str = list[i];
        if (!reg.IsMatch(str))
        {
            list.RemoveAt(i);
            i--;
        }
    }
}
 
Последнее редактирование:
Здравствуйте, подскажите пожалуйста как в C# написать такой кубик

V7g2U.jpg


интересует именно то что я выделил красным. Обыскал весь форум и нечего не нашел=(

Мне тут начало помогли написать а дальше говорят колхоз городить надо:ak:

C#:
Развернуть Свернуть Копировать
var list = project.Lists["List"];
// Удалить первую строку
list.RemoveAt(0);
// Удалить по номеру (напр., пятую)
list.RemoveAt(4);
// Указать значение
list.Remove("тут строка которую удаляем");
// Удалить все элементы (очистить список)
list.Clear();

Думаю это будет полезно многим. бывают случаи когда при работе со списком приходится выстраивать по 10-15 экшенов друг за другом, а так будет все в одном кубике C# а не в 10-15


Хороший пост, спасибо. А можете еще подсказать как получить первую строку из списка в переменную и удалить её.
 
  • Спасибо
Реакции: samsonnn
Насчет оформления регулярок подскажите кто-нибудь. Как вставить регулярку, которая содержит " , без проблем для понимания С кода. Если просто вставить регулярку из конструктора выражений, то получаются ошибки.
 
А можете еще подсказать как получить первую строку из списка в переменную и удалить её.
Код:
Развернуть Свернуть Копировать
var list = project.Lists["List"];
project.Variables["Var"].Value = list[0];
list.RemoveAt(0);
Насчет оформления регулярок подскажите кто-нибудь. Как вставить регулярку, которая содержит " , без проблем для понимания С кода. Если просто вставить регулярку из конструктора выражений, то получаются ошибки.
Если в регулярке есть двойные кавычки, их нужно экранировать \", пробелы экранировать НЕ нужно.
 
Со списками все получилось, спасибо! Подскажите еще пожалуйста функцию добавления строки в список.

А вот с регулярками никак...ошибка: "нераспознанная управляющая последовательность" .

Вот что я использую:
Регулярка из конструктора:
Код:
Развернуть Свернуть Копировать
(?<=\{"id":49049).*?(?=},\{"id":)
Код С :
Код:
Развернуть Свернуть Копировать
string get = project.Variables["get"].Value;
Match match1 = Regex.Match(get, "(?<=\{\"id\":49049).*?(?=},\{\"id\":)");
return match1.Value;
Все символы экранировал, пробелов нет. Подскажите где ошибка?
 
наверное запятую не поставили \",
Получается вместо одного символа
Код:
Развернуть Свернуть Копировать
"
нам необходимо использовать три?
Код:
Развернуть Свернуть Копировать
\",
верно? Просто так тоже не получается. И как определить по логу где именно в коде ошибка? Он пишет название ошибки, сроку и столбец, как по этим данным что то понять?
 

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