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

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 379
Благодарностей
2 039
Баллы
113
Не знаю как именно только символы перекодировать, но можете посмотреть как этот код работает, может оно и нужно:
C#:
return System.Net.WebUtility.UrlEncode(project.Variables["text"].Value);
таким образом и все русские слова перекодирует
 

Art4D

Client
Регистрация
22.08.2014
Сообщения
276
Благодарностей
48
Баллы
28

molotok

Client
Регистрация
17.04.2015
Сообщения
733
Благодарностей
358
Баллы
63
Снипет для замен в таблице

Добрый день!


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

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


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

Вложения

Alex62

Client
Регистрация
16.10.2015
Сообщения
226
Благодарностей
31
Баллы
28
Здравствуйте. Помогите пожалуйста, я либо не нашел, либо плохо искал.
У меня есть exel файл, есть переменная r_n с названием района, мне нужно найти нужный район в столбце А и взять в r-n_value значение столбца B соответствующее найденному району
Скрин таблицы прикрепил. Заранее всем спасибо!
 

Вложения

dmytro

Новичок
Регистрация
19.02.2016
Сообщения
14
Благодарностей
1
Баллы
3
есть ли возможность обойти задержку между распознанием рекапчи2 ? то есть чтоб она за 3 сек разгадывалась примерно или меньше
 

Yaroslav2015

Client
Регистрация
21.12.2015
Сообщения
39
Благодарностей
9
Баллы
8
ускорить рекапчи2 без вариантов? есть идеи? непонятно просто почему в капмонстре пишет время распознавания 0,3 - 0,6сек а по факту получается секунд 20-35??? ето задержка из-за усложнения?
спасибо!
 
Последнее редактирование:

doc

Client
Регистрация
30.03.2012
Сообщения
8 607
Благодарностей
4 598
Баллы
113
ускорить рекапчи2 без вариантов? есть идеи? непонятно просто почему в капмонстре пишет время распознавания 0,3 - 0,6сек а по факту получается секунд 20-35??? ето задержка из-за усложнения?
спасибо!
в справке всё подробно описано почему задержка
 

igor11

Client
Регистрация
29.01.2016
Сообщения
8
Благодарностей
1
Баллы
3
Здравствуйте, нужна программа которая сохраняет данные из переменной в тестовый файл в кодировке UTF-8.
 

zortexx

Client
Регистрация
19.09.2011
Сообщения
2 520
Благодарностей
1 223
Баллы
113

igor11

Client
Регистрация
29.01.2016
Сообщения
8
Благодарностей
1
Баллы
3

serg32

Client
Регистрация
27.02.2015
Сообщения
545
Благодарностей
15
Баллы
18
Здравствуйте!

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

Dimionix

Moderator
Регистрация
09.04.2011
Сообщения
3 068
Благодарностей
3 101
Баллы
113
Здравствуйте!

Возможно ли реализовать с помощью С# следующую задачу.
Привет!
Возможно!
А обязательно нужно парсить несколько раз, может сразу брать нужный результат в переменную 3?
4) Сравниваем получившийся результат в переменной "3" с четырьмя значениями по условию, и в случае совпадения условия записать определенный текст.
Здесь нужно поподробнее что-куда.
 

serg32

Client
Регистрация
27.02.2015
Сообщения
545
Благодарностей
15
Баллы
18
Парсить приходится в несколько шагов, что бы добиться 100% попадания. В противном случае много совпадений и необходимо привязывать списки.
Что касается четвертого пункта, его решил с помощью предложенной вами же ранее схемой, в этой ветке.
 

AloneSlamer

Client
Регистрация
29.01.2013
Сообщения
1 404
Благодарностей
362
Баллы
83

Обращаем Ваше внимание на то, что данный пользователь заблокирован.
Не рекомендуем проводить с AloneSlamer какие-либо сделки.

Подскажите сниппет взятия регекспом всего не в список а в переменную
типа вот так https://yadi.sk/i/y7H_If0qqSjrq но что бы результат попадал в переменную.
 

Dimionix

Moderator
Регистрация
09.04.2011
Сообщения
3 068
Благодарностей
3 101
Баллы
113
Подскажите сниппет взятия регекспом всего не в список а в переменную
типа вот так 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);
 
Последнее редактирование:

AloneSlamer

Client
Регистрация
29.01.2013
Сообщения
1 404
Благодарностей
362
Баллы
83

Обращаем Ваше внимание на то, что данный пользователь заблокирован.
Не рекомендуем проводить с AloneSlamer какие-либо сделки.

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);
Спасибо
 

serg32

Client
Регистрация
27.02.2015
Сообщения
545
Благодарностей
15
Баллы
18
А обязательно нужно парсить несколько раз, может сразу брать нужный результат в переменную 3?
Если бы можно было вставлять что то типо скипа в условия парса, было бы проще, а так приходится несколько раз парсить из за плавающих значений.
 

Dimionix

Moderator
Регистрация
09.04.2011
Сообщения
3 068
Благодарностей
3 101
Баллы
113
Если бы можно было вставлять что то типо скипа в условия парса, было бы проще, а так приходится несколько раз парсить из за плавающих значений.
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;
 

serg32

Client
Регистрация
27.02.2015
Сообщения
545
Благодарностей
15
Баллы
18
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;
Появляется ошибка: "нераспознанная управляющая последовательность" , что надо исправить?
 

Dimionix

Moderator
Регистрация
09.04.2011
Сообщения
3 068
Благодарностей
3 101
Баллы
113
Появляется ошибка: "нераспознанная управляющая последовательность" , что надо исправить?
Убрать экранирование пробелов в первой регулярке
Код:
(?<=Products: <select name=').*(?=</select>)
или поставить @ перед кавычками
Код:
Match match1 = Regex.Match(text, @"(?<=Products:\ <select\ name=').*(?=</select>)");
 
  • Спасибо
Реакции: AloneSlamer и serg32

serg32

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

samsonnn

Client
Регистрация
02.06.2015
Сообщения
1 654
Благодарностей
1 320
Баллы
113
Здравствуйте, подскажите пожалуйста как в C# написать такой кубик



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

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

C#:
var list = project.Lists["List"];
// Удалить первую строку
list.RemoveAt(0);
// Удалить по номеру (напр., пятую)
list.RemoveAt(4);
// Указать значение
list.Remove("тут строка которую удаляем");
// Удалить все элементы (очистить список)
list.Clear();
Думаю это будет полезно многим. бывают случаи когда при работе со списком приходится выстраивать по 10-15 экшенов друг за другом, а так будет все в одном кубике C# а не в 10-15
 
Последнее редактирование:
  • Спасибо
Реакции: Dimionix и serg32

Dimionix

Moderator
Регистрация
09.04.2011
Сообщения
3 068
Благодарностей
3 101
Баллы
113
Удалить элементы содержащие текст
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--;
        }
    }
}
 
Последнее редактирование:

serg32

Client
Регистрация
27.02.2015
Сообщения
545
Благодарностей
15
Баллы
18
Здравствуйте, подскажите пожалуйста как в C# написать такой кубик



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

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

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

Хороший пост, спасибо. А можете еще подсказать как получить первую строку из списка в переменную и удалить её.
 
  • Спасибо
Реакции: samsonnn

serg32

Client
Регистрация
27.02.2015
Сообщения
545
Благодарностей
15
Баллы
18
Насчет оформления регулярок подскажите кто-нибудь. Как вставить регулярку, которая содержит " , без проблем для понимания С кода. Если просто вставить регулярку из конструктора выражений, то получаются ошибки.
 

Dimionix

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

serg32

Client
Регистрация
27.02.2015
Сообщения
545
Благодарностей
15
Баллы
18
Со списками все получилось, спасибо! Подскажите еще пожалуйста функцию добавления строки в список.

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

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

samsonnn

Client
Регистрация
02.06.2015
Сообщения
1 654
Благодарностей
1 320
Баллы
113

serg32

Client
Регистрация
27.02.2015
Сообщения
545
Благодарностей
15
Баллы
18
наверное запятую не поставили \",
Получается вместо одного символа
Код:
"
нам необходимо использовать три?
Код:
\",
верно? Просто так тоже не получается. И как определить по логу где именно в коде ошибка? Он пишет название ошибки, сроку и столбец, как по этим данным что то понять?
 

samsonnn

Client
Регистрация
02.06.2015
Сообщения
1 654
Благодарностей
1 320
Баллы
113
запятая ненужна

вот я попробовал но правда с одной кавычкой и норм работает

 

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