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

Lagavu

Client
Регистрация
21.12.2016
Сообщения
74
Благодарностей
1
Баллы
8
Походу я что то не то сделал(

http://joxi.ru/V2V6RqyT0JdWM2

Вот код прикрепил

Код:
edkxj.b2b.ivest.kz">Veles</a>                            <a class="crown_btn" href="http://b2b.ivest.kz/place-in-vip/1887999952" title="Добавить в VIP"></a>
                        <br>
          
            <p>РК, Алматы </p>
            <p><b style="color:#737579;">Специфика:</b> <span style="color: #7B7D80;">Свадьба</span></p>
            <p><b style="color:#737579;">Дополнительная информация:</b> <span style="color: #7B7D80;">Оформление банкетов</span></p>
            <a class="category_link" href="http://almaty.b2b.ivest.kz/uslugi">Услуги</a>            : <a class="category_link" href="http://almaty.b2b.ivest.kz/uslugi/svadebnye-salony">Свадебные салоны</a>            <div class="phone_icon">+7(707)2246939</div>
                    </div>
      
gbuir.b2b.ivest.kz">КазПоверка</a>                        <br>
          
            <p>РК, Алматы , ул. Солодовникова, 21"а"</p>
            <p><b style="color:#737579;">Специфика:</b> <span style="color: #7B7D80;">Поверка и ремонт средств измерений</span></p>
            <p></p>
            <a class="category_link" href="http://almaty.b2b.ivest.kz/uslugi">Услуги</a>            : <a class="category_link" href="http://almaty.b2b.ivest.kz/uslugi/servis-remont">Сервис,ремонт</a>            <div class="phone_icon">+7(707)1232348</div>
                    </div>
      
oyzx.b2b.ivest.kz">ИП Донник Д.Ю.</a>                            <a class="crown_btn" href="http://b2b.ivest.kz/place-in-vip/262961952" title="Добавить в VIP"></a>
                        <br>
          
            <p>РК, Алматы , Суюнбая, 159 г</p>
            <p><b style="color:#737579;">Специфика:</b> <span style="color: #7B7D80;">квалифицированный ремонт иномарок</span></p>
            <p><b style="color:#737579;">Дополнительная информация:</b> <span style="color: #7B7D80;">качественно и с гарантией</span></p>
            <a class="category_link" href="http://almaty.b2b.ivest.kz/uslugi">Услуги</a>            : <a class="category_link" href="http://almaty.b2b.ivest.kz/uslugi/servis-remont">Сервис,ремонт</a>            <div class="phone_icon">+7 (777) 227 31 11; +7 (707) 300 16 91</div>
                    </div>
 

evgen2208

Client
Регистрация
12.10.2016
Сообщения
130
Благодарностей
162
Баллы
43
Походу я что то не то сделал(
вот рабочий

Код:
string input = project.Variables["_переменная_из_проекта_где_код"].Value;
string pattern = @"(?<=b2b\.ivest\.kz"")[\w\W]*?(?=</div>)";
project.Lists["list_in_project"].AddRange(Regex.Matches(input,pattern).Cast<Match>().Select(_m=>_m.Value).ToList());
 
  • Спасибо
Реакции: Lagavu

Dimionix

Moderator
Регистрация
09.04.2011
Сообщения
3 068
Благодарностей
3 126
Баллы
113
помогите пожалуйста еще с решением проблемы, всю голову сломал не понимаю как мне взять из списка по регулярному выражению несколько строк? @Dimionix

http://joxi.ru/12Mg7Xaf4blwyr
Можно так:
C#:
IZennoList list = project.Lists["List"]; // список проекта
int count = int.Parse(project.Variables["count"].Value); // переменная счётчика

string str = string.Join("\r\n", list);
string pattern = @"b2b\.ivest\.kz[\w\W]*?</div>[\w\W]*?</div>";
MatchCollection mCol = Regex.Matches(str, pattern);
if (mCol.Count == 0 || mCol.Count <= count) { // если нет совпадений, то
    list.Clear(); // очищаем список (если не нужно, то закомментировать строку или удалить)
    throw new Exception("Ничего не найдено"); // и выходим по красной
}
return mCol[count].Value;
В проекте нужно создать переменную счётчика count, задать ей значение 0 и далее увеличивать на единицу.
 
  • Спасибо
Реакции: Lagavu

Dimionix

Moderator
Регистрация
09.04.2011
Сообщения
3 068
Благодарностей
3 126
Баллы
113
Или без счётчика:
C#:
IZennoList list = project.Lists["List"]; // список проекта

string str = string.Join("\r\n", list);
string pattern = @"b2b\.ivest\.kz[\w\W]*?</div>[\w\W]*?</div>";
Match match = Regex.Match(str, pattern);
if (!match.Success) { // если нет совпадений, то
    list.Clear(); // очищаем список
    throw new Exception("Ничего не найдено"); // и выходим по красной
}

string value = match.Value;
str = str.Replace(value, string.Empty);
list.Clear();
list.Add(str);
return value;
 
  • Спасибо
Реакции: Lagavu

kuppyc

Client
Регистрация
13.06.2015
Сообщения
27
Благодарностей
1
Баллы
3
Ребят помогите пожалуйста, нужен снипет на проверку по условиям регулярного выражения.
В переменную поступают рандомные номера с рандомным кол-вом цифр.
Пример:
347302291
или
29329202, 3729123, 29430922 и тд
Т.е либо один номер с рандомным кол-вом цифр либо несколько номеров через запятую.
Условия проверки - Проверяем что это цифры, если один номер то проверяем чтобы цифр было больше либо равно 5 и не больше 9 - возвращаем true.
Если несколько номеров через запятую, проверяем их все так же по условию - Это цифры, и все номера через запятую содержат больше либо равно 5 цифр и не больше 9 за номер - вернуть true.
Если это не цифры или в каком то номере меньше 5 цифр либо больше 9, вернуть false
 
Последнее редактирование:

Dimionix

Moderator
Регистрация
09.04.2011
Сообщения
3 068
Благодарностей
3 126
Баллы
113
Ребят помогите пожалуйста, нужен снипет на проверку по условиям регулярного выражения.
С возвращением true/false:
C#:
string str = project.Variables["filePath"].Value;
string[] array = str.Split(new[] {", "}, StringSplitOptions.RemoveEmptyEntries);
foreach (string s in array)
    if (s.Length < 5 || s.Length > 9 || Regex.Match(s, @"[^\d]").Success)
        return false;
return true;
Без возвращения true/false, но с выходом по красной при невыполнении условий:
C#:
string str = project.Variables["res"].Value;
string[] array = str.Split(new[] {", "}, StringSplitOptions.RemoveEmptyEntries);
foreach (string s in array)
    if (s.Length < 5 || s.Length > 9 || Regex.Match(s, @"[^\d]").Success)
        throw new Exception("Условия не выполнены"); // выход по красной
// выход по зелёной
 
  • Спасибо
Реакции: kuppyc и samsonnn

kuppyc

Client
Регистрация
13.06.2015
Сообщения
27
Благодарностей
1
Баллы
3
С возвращением true/false:
C#:
string str = project.Variables["filePath"].Value;
string[] array = str.Split(new[] {", "}, StringSplitOptions.RemoveEmptyEntries);
foreach (string s in array)
    if (s.Length < 5 || s.Length > 9 || Regex.Match(s, @"[^\d]").Success)
        return false;
return true;
Без возвращения true/false, но с выходом по красной при невыполнении условий:
C#:
string str = project.Variables["res"].Value;
string[] array = str.Split(new[] {", "}, StringSplitOptions.RemoveEmptyEntries);
foreach (string s in array)
    if (s.Length < 5 || s.Length > 9 || Regex.Match(s, @"[^\d]").Success)
        throw new Exception("Условия не выполнены"); // выход по красной
// выход по зелёной
Спасибо огромное =) 2 вариант даже удобнее =)
 

demian

Client
Регистрация
26.09.2011
Сообщения
300
Благодарностей
17
Баллы
18
UPD. Выполнение в несколько раз быстрее:
C#:
string filePath = project.Variables["filePath"].Value; // путь к файлу
int count = int.Parse(project.Variables["count"].Value); // количество строк
string[] lines = File.ReadAllLines(filePath);
Random rnd = new Random();
return string.Join("\r\n", lines.AsParallel().Select(x => rnd.Next()).Take(count));
а как взятые строки сразу записать в файл?
 

Dimionix

Moderator
Регистрация
09.04.2011
Сообщения
3 068
Благодарностей
3 126
Баллы
113
а как взятые строки сразу записать в файл?
C#:
string filePath = project.Variables["filePath"].Value; // путь к исходному файлу
string outFilePath = project.Variables["outFilePath"].Value; // путь к выходному файлу
int count = int.Parse(project.Variables["count"].Value); // количество строк
string[] lines = File.ReadAllLines(filePath);
Random rnd = new Random();
string[] resultLines = lines.AsParallel().Select(x => rnd.Next().ToString()).Take(count).ToArray();
File.WriteAllLines(outFilePath, resultLines);
//return string.Join("\r\n", resultLines); // раскомментировать строку, если нужно класть в переменную
 
  • Спасибо
Реакции: demian

Evgeny76

Client
Регистрация
11.09.2015
Сообщения
192
Благодарностей
85
Баллы
28
помогите пожалуйста снипетом:
распознается арифметическая каптча, кладется в переменную. В этой переменной должны быть две цифры и посередине один из знаков (+ или - или *). Но модуль распознавания иногда меняет местами 1-й и 2-й символы или 2-й и 3-й символы. Например должно быть 2+5, а модуль может распознать как +25 или 25+. Как арифметический знак поставить между цифрами? Но если арифметический символ стоИт посередине, то делать ничего не надо.
 

Dimionix

Moderator
Регистрация
09.04.2011
Сообщения
3 068
Благодарностей
3 126
Баллы
113
помогите пожалуйста снипетом
C#:
string str = project.Variables["text"].Value;
int a = int.Parse(Regex.Matches(str, @"\d")[0].Value);
int b = int.Parse(Regex.Matches(str, @"\d")[1].Value);
string s = Regex.Match(str, @"[^\d]").Value;

switch (s) {
    case "+": return a + b;
    case "-": return a - b;
    case "*": return a * b;
}
 
  • Спасибо
Реакции: samsonnn и Evgeny76

doc

Client
Регистрация
30.03.2012
Сообщения
8 685
Благодарностей
4 642
Баллы
113
помогите пожалуйста снипетом:
распознается арифметическая каптча, кладется в переменную. В этой переменной должны быть две цифры и посередине один из знаков (+ или - или *). Но модуль распознавания иногда меняет местами 1-й и 2-й символы или 2-й и 3-й символы. Например должно быть 2+5, а модуль может распознать как +25 или 25+. Как арифметический знак поставить между цифрами? Но если арифметический символ стоИт посередине, то делать ничего не надо.
(\d)(\d[+*/-])|([+*/-]\d)(\d)
$2$1$4$3
 
  • Спасибо
Реакции: Evgeny76

Evgeny76

Client
Регистрация
11.09.2015
Сообщения
192
Благодарностей
85
Баллы
28
Dimionix, спасибо, теперь даже следующий js кубик который арифметику у меня считал, можно удалить :-)
doc, ну а ты как всегда меня удивляешь, всего лишь одним кубиком "замена"... Спасибо!
 
  • Спасибо
Реакции: Dimionix

demian

Client
Регистрация
26.09.2011
Сообщения
300
Благодарностей
17
Баллы
18
C#:
string filePath = project.Variables["filePath"].Value; // путь к исходному файлу
string outFilePath = project.Variables["outFilePath"].Value; // путь к выходному файлу
int count = int.Parse(project.Variables["count"].Value); // количество строк
string[] lines = File.ReadAllLines(filePath);
Random rnd = new Random();
string[] resultLines = lines.AsParallel().Select(x => rnd.Next().ToString()).Take(count).ToArray();
File.WriteAllLines(outFilePath, resultLines);
//return string.Join("\r\n", resultLines); // раскомментировать строку, если нужно класть в переменную
Спасибо!
А выходной файл будет создаваться или он должен быть уже создан?
 

doc

Client
Регистрация
30.03.2012
Сообщения
8 685
Благодарностей
4 642
Баллы
113
  • Спасибо
Реакции: demian

demian

Client
Регистрация
26.09.2011
Сообщения
300
Благодарностей
17
Баллы
18
C#:
string filePath = project.Variables["filePath"].Value; // путь к исходному файлу
string outFilePath = project.Variables["outFilePath"].Value; // путь к выходному файлу
int count = int.Parse(project.Variables["count"].Value); // количество строк
string[] lines = File.ReadAllLines(filePath);
Random rnd = new Random();
string[] resultLines = lines.AsParallel().Select(x => rnd.Next().ToString()).Take(count).ToArray();
File.WriteAllLines(outFilePath, resultLines);
//return string.Join("\r\n", resultLines); // раскомментировать строку, если нужно класть в переменную
Файл создается, но внутри не строки взятые из другого файла, а набор чисел
1743053762
1602378587
1351341996
1951974356
163188955
...
 

Dimionix

Moderator
Регистрация
09.04.2011
Сообщения
3 068
Благодарностей
3 126
Баллы
113
Файл создается, но внутри не строки взятые из другого файла, а набор чисел
Ага :-)
Просто тестировал на файле с числами от 1 до 5 лямов, там всё нормально было))
Тогда так:
C#:
string filePath = project.Variables["filePath"].Value; // путь к исходному файлу
string outFilePath = project.Variables["outFilePath"].Value; // путь к выходному файлу
int count = int.Parse(project.Variables["count"].Value); // количество строк
string[] lines = File.ReadAllLines(filePath);
Random rnd = new Random();
string[] resultLines = lines.OrderBy(x => rnd.Next()).Take(count).ToArray();
File.WriteAllLines(outFilePath, resultLines);
//return string.Join("\r\n", resultLines); // раскомментировать строку, если нужно класть в переменную
 
  • Спасибо
Реакции: demian

Boo

Client
Регистрация
19.09.2011
Сообщения
33
Благодарностей
14
Баллы
8
Всем привет.
Парни, помогите плз реализовать php функцию в C# сниппете:
$pass = mb_substr(md5(md5($user)), 4, 24);
Генерация пароля по имени юзера.
На входе $user, на выходе нужен $pass.
Пароль генерится по следующему алгоритму:
Берется md5 хеш из md5 хеша имени юзера и обрезается с обеих сторон до 24 символов.
 

Dimionix

Moderator
Регистрация
09.04.2011
Сообщения
3 068
Благодарностей
3 126
Баллы
113
Парни, помогите плз реализовать php функцию в C# сниппете
C#:
string input = project.Variables["user"].Value; // переменная проекта
System.Security.Cryptography.MD5 md5 = System.Security.Cryptography.MD5.Create();

byte[] md5Hash = md5.ComputeHash(Encoding.UTF8.GetBytes(input));
string md5String = string.Concat(md5Hash.Select(x => x.ToString("x2")));

md5Hash = md5.ComputeHash(Encoding.UTF8.GetBytes(md5String));
md5String = string.Concat(md5Hash.Select(x => x.ToString("x2")));

return md5String.Substring(4, 24);
 
  • Спасибо
Реакции: Boo, samsonnn и Sanekk

demian

Client
Регистрация
26.09.2011
Сообщения
300
Благодарностей
17
Баллы
18
Ага :-)
Просто тестировал на файле с числами от 1 до 5 лямов, там всё нормально было))
Тогда так:
C#:
string filePath = project.Variables["filePath"].Value; // путь к исходному файлу
string outFilePath = project.Variables["outFilePath"].Value; // путь к выходному файлу
int count = int.Parse(project.Variables["count"].Value); // количество строк
string[] lines = File.ReadAllLines(filePath);
Random rnd = new Random();
string[] resultLines = lines.OrderBy(x => rnd.Next()).Take(count).ToArray();
File.WriteAllLines(outFilePath, resultLines);
//return string.Join("\r\n", resultLines); // раскомментировать строку, если нужно класть в переменную
А можно сделать так, чтобы взятые строки после записи в другой файл в исходном файле удалялись?
 

Dimionix

Moderator
Регистрация
09.04.2011
Сообщения
3 068
Благодарностей
3 126
Баллы
113
А можно сделать так, чтобы взятые строки после записи в другой файл в исходном файле удалялись?
C#:
string filePath = project.Variables["filePath"].Value; // путь к исходному файлу
string outFilePath = project.Variables["outFilePath"].Value; // путь к выходному файлу
int count = int.Parse(project.Variables["count"].Value); // количество строк

// Взять указанное количество строк из исходного файла и записать в новый файл
string[] lines = File.ReadAllLines(filePath);
Random rnd = new Random();
string[] resultLines = lines.OrderBy(x => rnd.Next()).Take(count).ToArray();
File.WriteAllLines(outFilePath, resultLines);

// Удалить взятые строки из исходного файла
string[] newLines = lines.AsParallel().AsOrdered().Except(resultLines.AsParallel()).ToArray();
File.WriteAllLines(filePath, newLines);

// Положить взятые строки в переменую
//return string.Join("\r\n", resultLines); // раскомментировать строку, если нужно класть в переменную
 
  • Спасибо
Реакции: samsonnn, demian и Sanekk

Nebot

Client
Регистрация
25.04.2014
Сообщения
96
Благодарностей
83
Баллы
18
привет, как можно разделить число 1234 на 4 отдельных переменных?
 

Dimionix

Moderator
Регистрация
09.04.2011
Сообщения
3 068
Благодарностей
3 126
Баллы
113
как можно разделить число 1234 на 4 отдельных переменных?
C#:
string str = project.Variables["text"].Value;
char[] arr = str.ToCharArray();
project.Variables["var0"].Value = arr[0].ToString();
project.Variables["var1"].Value = arr[1].ToString();
project.Variables["var2"].Value = arr[2].ToString();
project.Variables["var3"].Value = arr[3].ToString();
 
  • Спасибо
Реакции: samsonnn и Nebot

spbalexpiter

Client
Регистрация
24.11.2013
Сообщения
405
Благодарностей
93
Баллы
28
Так мы проверяем что есть слово Вход а DOMе
Код:
var pattern = "Вход";
if(!instance.ActiveTab.DomText.Contains(pattern))
    throw new Exception(string.Format("Pattern with value '{0}' not found", pattern));
А как проверить наличие хотя бы одного слова: Вход или Inter в DOMе?
 

Dimionix

Moderator
Регистрация
09.04.2011
Сообщения
3 068
Благодарностей
3 126
Баллы
113
  • Спасибо
Реакции: samsonnn и spbalexpiter

spbalexpiter

Client
Регистрация
24.11.2013
Сообщения
405
Благодарностей
93
Баллы
28
Не работает
Код:
var pattern = "Вход|Inter";
if(!instance.ActiveTab.DomText.Contains(pattern))
    throw new Exception(string.Format("Pattern with value '{0}' not found", pattern));
Хотя так работат
Код:
var pattern = "Вход";
if(!instance.ActiveTab.DomText.Contains(pattern))
    throw new Exception(string.Format("Pattern with value '{0}' not found", pattern));
 

Dimionix

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

myndeswx

Client
Регистрация
15.05.2017
Сообщения
436
Благодарностей
104
Баллы
43
Need help converting to zennoposter C# )))
Код:
 using System;

namespace CSTests
{
    class Program
    {
        static string toip (uint ip)toip(uint ip)
        {
            return String.Format ("{0}. {1}. {2}. {3}", ip >> 24, (ip >> 16) & 0xff, (ip >> 8) & 0xff, ip & 0xff) ;
        }

        static void Main (string [] args)
        {
            string IP = "5.39.40.96/27";
            string [] parts = IP.Split ('.', '/');

            uint ipnum = (Convert.ToUInt32 (parts [0]) << 24) |
                (Convert.ToUInt32 (parts [1]) << 16) |
                (Convert.ToUInt32 (parts [2]) << 8) |
                Convert.ToUInt32 (parts [3]);

            int maskbits = Convert.ToInt32 (parts [4]);
            uint mask = 0xffffffff;
            mask << = (32 - maskbits);

            uint ipstart = ipnum & mask;
            uint ipend = ipnum | (mask ^ 0xffffffff);

            Console.WriteLine (toip (ipstart) + "-" + toip (ipend));
        }
    }
} [/ CODE]
 

LaGir

Client
Регистрация
01.10.2015
Сообщения
230
Благодарностей
945
Баллы
93
Need help converting to zennoposter C# )))
Try this snippet:
C#:
Func<uint,string> toip = (ip) => {
    return String.Format ("{0}. {1}. {2}. {3}", ip >> 24, (ip >> 16) & 0xff, (ip >> 8) & 0xff, ip & 0xff);
};

string IP = "5.39.40.96/27";
string [] parts = IP.Split ('.', '/');
uint ipnum = (Convert.ToUInt32 (parts [0]) << 24) |
    (Convert.ToUInt32 (parts [1]) << 16) |
    (Convert.ToUInt32 (parts [2]) << 8) |
    Convert.ToUInt32 (parts [3]);

int maskbits = Convert.ToInt32 (parts [4]);
uint mask = 0xffffffff;
mask <<= (32 - maskbits);
uint ipstart = ipnum & mask;
uint ipend = ipnum | (mask ^ 0xffffffff);
project.SendInfoToLog(toip (ipstart) + "-" + toip (ipend), true);
 
  • Спасибо
Реакции: myndeswx

Олеся

Новичок
Регистрация
07.02.2015
Сообщения
13
Благодарностей
0
Баллы
1
Помогите, вроде не должно быть сложно.. Текст из переменной вставить рандомно в список, т.е не в начало или конец, а именно в позицию рандом. Целый день сижу над этим...
 

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