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

Alex.A

Client
Регистрация
14.11.2020
Сообщения
406
Благодарностей
187
Баллы
43
Добрый день!
Есть список с ссылками вида
...https://news.google.com/articles/CBMie2h0dHBzOi8vbmV3cy5saWdhLm5ldC93b3JsZC9uZXdzL211amNoaW5hLXMtb3J1amllbS1weXRhbHN5YS1wcm9uaWtudXQtdi12aW5kem9yc2tpeS16YW1vay10YW0ta29yb2xldmEtcHJhemRudWV0LXJvamRlc3R2b9IBf2h0dHBzOi8vbmV3cy5saWdhLm5ldC9hbXAvd29ybGQvbmV3cy9tdWpjaGluYS1zLW9ydWppZW0tcHl0YWxzeWEtcHJvbmlrbnV0LXYtdmluZHpvcnNraXktemFtb2stdGFtLWtvcm9sZXZhLXByYXpkbnVldC1yb2pkZXN0dm8?hl=ru&gl=UA&ceid=UA%3Aru...
(точки перед и в конце ссылки отсутствуют - я поставил, так как не дает тут разместить ссылку)

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

udder

Client
Регистрация
28.03.2017
Сообщения
618
Благодарностей
128
Баллы
43
Как взять случайную строку из списка , которая содержит одно из слов

Например в списке слова:
Zennoposter помощник
Автоматизация рутины
Capmontser решит рекаптчи
Proxy для анонимации


Нужно взять из этого списка рандомно строку содержащее слово Zennoposter или слово Proxy, как это реализовать?
 

SergSh

Client
Регистрация
10.05.2017
Сообщения
541
Благодарностей
395
Баллы
63
Как взять случайную строку из списка , которая содержит одно из слов

Например в списке слова:
Zennoposter помощник
Автоматизация рутины
Capmontser решит рекаптчи
Proxy для анонимации


Нужно взять из этого списка рандомно строку содержащее слово Zennoposter или слово Proxy, как это реализовать?
C#:
var list = project.Lists["list"];
string word = "zennoposter";

var res = list.Where(x => x.ToLower().Contains(word));
if(res.Count() > 0)
{
    return res.Shuffle().First();
}
 

udder

Client
Регистрация
28.03.2017
Сообщения
618
Благодарностей
128
Баллы
43
C#:
var list = project.Lists["list"];
[B]string word = "zennoposter";[/B]

var res = list.Where(x => x.ToLower().Contains(word));
if(res.Count() > 0)
{
    return res.Shuffle().First();
}
спасибо, а как совместить, чтобы ИЛИ, в примере только zennoposter, а мне нужно строку одну из двух со словом, например Zennoposter|proxy
 

djaga

Administrator
Команда форума
Регистрация
26.04.2020
Сообщения
546
Благодарностей
1 125
Баллы
93
Как взять случайную строку из списка , которая содержит одно из слов

Например в списке слова:
Zennoposter помощник
Автоматизация рутины
Capmontser решит рекаптчи
Proxy для анонимации


Нужно взять из этого списка рандомно строку содержащее слово Zennoposter или слово Proxy, как это реализовать?
спасибо, а как совместить, чтобы ИЛИ, в примере только zennoposter, а мне нужно строку одну из двух со словом, например Zennoposter|proxy
Выбрать рандомную строку:
var listPhrase = project.Lists["фразы"]; // по аналогии можно сделать ниже

var listConditions = new List<string>() // условия поиска
{
    "Zennoposter",
    "Proxy"
};

var phrasesFoundList = new List<string>(); // результирующая коллекция

foreach (var condition in listConditions) // перебор условий
{
    foreach (string phrase in listPhrase) // перебор фраз
        if (phrase.Contains(condition))
            phrasesFoundList.Add(phrase);
}

foreach (var s in phrasesFoundList) project.Lists["Result"].Add(s); // добавление в список зенки

var rand = new Random();
var i = rand.Next(0, project.Lists["Result"].Count);

return project.Lists["Result"][i]; // получить в переменную рандомную строку
На всякий, прикрепил проект.)
 

Вложения

Последнее редактирование:

SergSh

Client
Регистрация
10.05.2017
Сообщения
541
Благодарностей
395
Баллы
63
спасибо, а как совместить, чтобы ИЛИ, в примере только zennoposter, а мне нужно строку одну из двух со словом, например Zennoposter|proxy
C#:
var list = project.Lists["list"];

//через запятую в двойных кавычках сколько угодно слов можно дописать
//все слова в нижнем регистре должны быть
List<string> words = new List<string>()
{
    "zennoposter", "proxy"
};

var res = list.Where(l => words.Any(w => l.ToLower().Contains(w)));
if(res.Count() > 0)
{
    return res.Shuffle().First();
}
 
  • Спасибо
Реакции: udder

balytnikov

Client
Регистрация
17.02.2015
Сообщения
27
Благодарностей
8
Баллы
3
Как взять случайную строку из списка , которая содержит одно из слов

Например в списке слова:
Zennoposter помощник
Автоматизация рутины
Capmontser решит рекаптчи
Proxy для анонимации


Нужно взять из этого списка рандомно строку содержащее слово Zennoposter или слово Proxy, как это реализовать?
Я бы сначала через Обработка текста → Spintax (https://zennolab.atlassian.net/wiki/spaces/RU/pages/488865793#Spintax) взял рандомное слово, а потом брал строку, содержащее это слово. 2 кубика, без с#.
 
  • Спасибо
Реакции: udder

socsecret.ru

Client
Регистрация
30.09.2017
Сообщения
346
Благодарностей
209
Баллы
43
Всем привет. Подскажите пожалуйста Get-запрос, которым можно узнать сообщения в канале телеграма. Очень надо, готов заплатить. Пример: я отправляю в свой канал какое-либо сообщение, бот периодически отправляет этот Get-запрос и получает либо моё новое сообщение, либо хотя бы скопом последние Х сообщений в канале...
 

Markoonij

Client
Регистрация
13.10.2020
Сообщения
70
Благодарностей
3
Баллы
8
Привет. Ребята, подскажите как можно реализовать снипетом такую логику: в переменной X есть десятичная дробь (2,4), нужно от нее отнять 1 (2,4-1=1,4) и получившееся число перевести в простую дробь (1,4 -> 7/5). И уже в таком виде засунуть в переменную Y.
 

djaga

Administrator
Команда форума
Регистрация
26.04.2020
Сообщения
546
Благодарностей
1 125
Баллы
93
Привет. Ребята, подскажите как можно реализовать снипетом такую логику: в переменной X есть десятичная дробь (2,4), нужно от нее отнять 1 (2,4-1=1,4) и получившееся число перевести в простую дробь (1,4 -> 7/5). И уже в таком виде засунуть в переменную Y.
Тупо копировать оттуда и вставлять сюда не хотел, так что вот:
Пример раз: code-enjoy.ru/perevod_desatichnih_drobey_v_obichnie_si_sharp/
Пример два: ru.stackoverflow.com/questions/718530/
 
  • Спасибо
Реакции: Markoonij

Markoonij

Client
Регистрация
13.10.2020
Сообщения
70
Благодарностей
3
Баллы
8
Тупо копировать оттуда и вставлять сюда не хотел, так что вот:
Пример раз: code-enjoy.ru/perevod_desatichnih_drobey_v_obichnie_si_sharp/
Пример два: ru.stackoverflow.com/questions/718530/
Спасибо, конечно за подсказку. Но я в C# совсем ничего не понимаю. И если просто скопипатить этот код, то ничего не происходит. Не поможешь разобраться?
 
  • Спасибо
Реакции: djaga

samsonnn

Client
Регистрация
02.06.2015
Сообщения
1 773
Благодарностей
1 443
Баллы
113
Привет. Ребята, подскажите как можно реализовать снипетом такую логику: в переменной X есть десятичная дробь (2,4), нужно от нее отнять 1 (2,4-1=1,4) и получившееся число перевести в простую дробь (1,4 -> 7/5). И уже в таком виде засунуть в переменную Y.
В общий крд добавляем:



C#:
using System.Threading.Tasks;

namespace ZennoLab.OwnCode
{
    public class CommonCode
    {
        public static object SyncObject = new object();

        static public string Drob(double numeric)
        {
            string result = "";
            bool otr = false;

            if(numeric < 0)
            {
                otr = true;
                numeric = numeric * (-1);
            }

            int ind = numeric.ToString().IndexOf(',');
      
             if (ind == -1)
                 return numeric.ToString();

            ulong cel  = ulong.Parse(numeric.ToString().Substring(0, ind));
            ulong chisl = ulong.Parse(numeric.ToString().Remove(0, ind + 1));
            ulong znam = 1;

             for (int i = 0; i < chisl.ToString().Length; i++)
                 znam *= 10;

             for (ulong i = 2; i < znam; i++)
             {
                 if (chisl % i == 0 && znam % i == 0)
                 {
                     chisl /= i;
                     znam /= i;
                     i = 1;
                 }
             }

            result =  (cel*znam + chisl).ToString() + "/" + znam.ToString();

            if(otr)
            {
                result = "-" + result;
            }

            return result;
        }
    }
}
создаем 2 переменные: number и result

В кубике C# вызываем:




C#:
string resDrobe =  CommonCode.Drob(double.Parse(project.Variables["number"].Value.Replace(".",",")));
project.Variables["result"].Value = resDrobe;
результат:



шаблон с примером прикрепил)

Ваш случай с минус 1:

Создаем еще одну переменную: minus_number



C#:
string resDrobe =  CommonCode.Drob(double.Parse(project.Variables["number"].Value.Replace(".",","))-double.Parse(project.Variables["minus_number"].Value));
project.Variables["result"].Value = (resDrobe);
 

Вложения

Последнее редактирование:

Alexmd

Client
Регистрация
10.12.2018
Сообщения
1 022
Благодарностей
1 424
Баллы
113
В общий код
C#:
        public static string drob(string s){
            double d = double.Parse(s.Replace(".",","));
            bool n = d > 0 ? true : false;
            int f = s.Length-(n ? 1 : 2) - (Math.Truncate(d)).ToString().Length;
            int[] drob = new[]{int.Parse(string.Join("", s.Where(c => char.IsDigit(c)))), (int)Math.Pow(10, f)};
            int z = del(drob[0], drob[1]);
            return (n ? "" : "-") + string.Join("/", drob.Select(x=>x/z));
        }
        public static int del(int a, int b){
            while(b!=0)
                b=a%(a=b);
            return a;
        }
Вызов
C#:
return CommonCode.drob(project.Variables["z"].Value);
 

Quant

Client
Регистрация
13.12.2016
Сообщения
24
Благодарностей
2
Баллы
3
Как из директории взять файл с самой "старой" датой его изменения, при условии что директория указывается в переменной в настройках проекта?
Как другим кубиком можно выполнить проверку что с даты последнего изменения прошло Х дней?
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
20 340
Благодарностей
9 088
Баллы
113
Как из директории взять файл с самой "старой" датой его изменения, при условии что директория указывается в переменной в настройках проекта?
Как другим кубиком можно выполнить проверку что с даты последнего изменения прошло Х дней?
Здесь было обсуждение с методом решения:
 

Quant

Client
Регистрация
13.12.2016
Сообщения
24
Благодарностей
2
Баллы
3
Видел, но там обсуждается Project.Directory + вариации внутренних папок.
К сожалению знаний в C# нет, поэтому переделать код, чтобы вместо
"EnumerateFiles(project.Directory + @"\Профили\Нужные профили\")"

Было: "EnumerateFiles({-Variable.profiles_dir-})" (грубо), не смог.

Плюс хотелось бы Отдельно кубик с проверкой "отлежки".
Или лучше в ту тему задать?
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
20 340
Благодарностей
9 088
Баллы
113
Видел, но там обсуждается Project.Directory + вариации внутренних папок.
К сожалению знаний в C# нет, поэтому переделать код, чтобы вместо
"EnumerateFiles(project.Directory + @"\Профили\Нужные профили\")"

Было: "EnumerateFiles({-Variable.profiles_dir-})" (грубо), не смог.

Плюс хотелось бы Отдельно кубик с проверкой "отлежки".
Или лучше в ту тему задать?
Да, лучше туда написать - там релевантнее тема.
 

socsecret.ru

Client
Регистрация
30.09.2017
Сообщения
346
Благодарностей
209
Баллы
43
Видел, но там обсуждается Project.Directory + вариации внутренних папок.
К сожалению знаний в C# нет, поэтому переделать код, чтобы вместо
"EnumerateFiles(project.Directory + @"\Профили\Нужные профили\")"

Было: "EnumerateFiles({-Variable.profiles_dir-})" (грубо), не смог.

Плюс хотелось бы Отдельно кубик с проверкой "отлежки".
Или лучше в ту тему задать?
Не знаю, правильно ли я понял, но возможно это поможет:

// Меняем дату создания файла
System.IO.File.SetCreationTime(project.Variables["tmp"].Value, DateTime.ParseExact(project.Variables["date"].Value, "yyyy-MM-dd HH:mm:ss", new System.Globalization.CultureInfo("ru-RU")));

// Меняем дату последней операции записи в файл
System.IO.File.SetLastWriteTime(project.Variables["tmp"].Value, DateTime.ParseExact(project.Variables["date"].Value, "yyyy-MM-dd HH:mm:ss", new System.Globalization.CultureInfo("ru-RU")));

// Читаем дату создания файла
return new System.IO.FileInfo(@project.Variables["tmp"].Value).CreationTime.ToString(@"MM\/dd\/yyyy hh:mm:ss");

// Читаем дату последней операции записи в файл
return new System.IO.FileInfo(@project.Variables["tmp"].Value).LastWriteTime.ToString(@"MM\/dd\/yyyy hh:mm:ss");
 

Markoonij

Client
Регистрация
13.10.2020
Сообщения
70
Благодарностей
3
Баллы
8
Помогите разобраться, почему не происходит клик?
C#:
var z = project.Variables["eventId"].Value;
foreach(var t in instance.ActiveTab.FindElementsByXPath(@"//li[@gameid='z']"))
    t.Click();
В переменной eventId лежит значение 462922

Если не использовать переменную проекта, то клик проходит нормально!
C#:
foreach(var t in instance.ActiveTab.FindElementsByXPath(@"//li[@gameid='462922']"))
    t.Click();
 
Последнее редактирование:

udder

Client
Регистрация
28.03.2017
Сообщения
618
Благодарностей
128
Баллы
43
Подскажите, как обработать переменную c текстом, чтобы удалить из нее строки где меньше 5 слов, например :-)

Ирина Малина / АиФ
Москва, 18 апреля - АиФ-Москва.

Система оптовых продовольственных рынков в ближайшее время будет создана в крупных городах России, заявил премьер Михаил Мишустин в понедельник в ходе оперативного совещания с вице-премьерами.
На этих рынках отечественные сельхозпроизводители смогут сбывать свою продукцию «как можно ближе к потребителю».
«Это позволит обеспечить широкий выбор продуктов для всех желающих. Ведь помимо оптовых продаж там будут созданы условия и для розничной торговли. А значит, люди смогут сами выбирать, где им выгоднее и удобнее закупаться», — сказал он.
Мишустин напомнил, что правительство уже утвердило концепцию развития оптовых продовольственных рынков (ОПР). Теперь нужно скорректировать законодательство и внести изменения в национальные стандарты. Премьер поручил вице-премьеру Дмитрию Григоренко вместе с Минпромторгом провести необходимую работу для организации ОПР.
Неделю назад в пресс-центре АиФ прошел круглый стол на тему продовольственной безопасности РФ. Его участники выразили мнение, что стране не грозит голод — отечественные сельхозпроизводители готовы насытить рынок продовольствием.
Оставить
комментарий (0)
Самое интересное в соцсетях
Выделил строки которые нужно удалить!
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
20 340
Благодарностей
9 088
Баллы
113
Подскажите, как обработать переменную c текстом, чтобы удалить из нее строки где меньше 5 слов, например :-)
"Обработка текста - Замена" на пустоту по регулярке: (?<=(\r?\n|^)).{0,100}(?=(\r?\n|$))
Правда не по кол-ву слов, а по кол-ву символов идет отбор, но если принять что ср. кол-во символов в слове 10-15, то можно играться значениями до ~ 50-100.

90647
 
  • Спасибо
Реакции: udder

Gllory

Client
Регистрация
19.06.2017
Сообщения
47
Благодарностей
10
Баллы
8
Нужно отнять от числа 1% и если оно не изменилось, то отнять 1
так не работает

C#:
double num1 = Convert.ToDouble(project.Variables["Var"].Value);
double num2 = num1 * 0.99;
if (num2 == num1)
{
    double num3 = num1 - 1;
    return System.Math.Round(num3,0);
}
else return System.Math.Round(num2,0);
 

Alexmd

Client
Регистрация
10.12.2018
Сообщения
1 022
Благодарностей
1 424
Баллы
113
как-то так

C#:
int num1 = int.Parse(project.Variables["Var"].Value);
int num2 = (int)Math.Round(num1*0.99);
return num1==num2?num1-1:num2;
 
Последнее редактирование:
  • Спасибо
Реакции: Gllory

udder

Client
Регистрация
28.03.2017
Сообщения
618
Благодарностей
128
Баллы
43
Как из текста удалить словесную конструкцию когда идет: СЛОВО.РУБРИКА т.е когда идет слово какое то и сразу после слова точка со словом, эту часть нужно ВЫРЕЗАТЬ.
Например. Выделил слова которые нужно удалить
Я посещаю сайт yandex.com, иногда яндекс.рф или ya.ru , но ежедневно ищу информацию через поисковую систему google
 

Ilshakin

Client
Регистрация
14.02.2017
Сообщения
639
Благодарностей
581
Баллы
93
Как из текста удалить словесную конструкцию когда идет: СЛОВО.РУБРИКА т.е когда идет слово какое то и сразу после слова точка со словом, эту часть нужно ВЫРЕЗАТЬ.
Например. Выделил слова которые нужно удалить
C#:
return string.Join(" ", project.Variables["переменная с текстом"].Value.Split().Where(x => !Regex.IsMatch(x, @"[a-zA-Zа-яА-ЯёЁ0-9_-]+(\.[a-zA-Zа-яА-ЯёЁ0-9_-]+)*\.[a-zA-Zа-яА-ЯёЁ]{2,5}(?=$|[^a-zA-Zа-яА-ЯёЁ0-9_-])")));
регулярку только под себя подбери - эта для удаления доменов
 
  • Спасибо
Реакции: udder

fargot31

Client
Регистрация
26.09.2017
Сообщения
67
Благодарностей
13
Баллы
8
Подскажите снипет для поиска совпадений.
Есть строки
string a = "QWE";
string b = "ASQWE"; // в етой строке ищем
На выходе подобное етому значению AS<Q><W><E>

В строке где ищем может быть и так, всегда по разному
string b = "ASQWETY"; // в етой строке ищем, здесь так должно получиться AS<Q><W><E>TY
 

Alexmd

Client
Регистрация
10.12.2018
Сообщения
1 022
Благодарностей
1 424
Баллы
113
Подскажите снипет для поиска совпадений.
Есть строки
string a = "QWE";
string b = "ASQWE"; // в етой строке ищем
На выходе подобное етому значению AS<Q><W><E>

В строке где ищем может быть и так, всегда по разному
string b = "ASQWETY"; // в етой строке ищем, здесь так должно получиться AS<Q><W><E>TY
C#:
string a = "QWE";
string b = "ASQWE"; // в етой строке ищем
return string.Join("", b.Select(x=>a.Contains(x)?$"<{x}>":x.ToString()));
 
  • Спасибо
Реакции: fargot31

fargot31

Client
Регистрация
26.09.2017
Сообщения
67
Благодарностей
13
Баллы
8
Спасибо большое, работает.
 

SVRyzhov

Client
Регистрация
17.05.2017
Сообщения
47
Благодарностей
5
Баллы
8
Приветствую!
Перемещаю папки с файлами следующим кодом
C#:
File.Move(fileXL, downloadPathXL + "\\" + fileName); //перемещение с переименованием
Все работает прекрасно, до тех пор пока не встретятся одинаковые имена папок или файлов.
При попытке перемещения с заменой таким кодом
C#:
File.Move(fileXL, downloadPathXL + "\\" + fileName, true); //перемещение с переименованием и заменой
Вылазит ошибка "No overload for method 'Move' takes 3 arguments"
Подскажите в чем косяк и как с ним бороться.

Ну или подскажите какой-то другой алгоритм действий, типа в случае ошибки сначала удалить папку с файлами, а потом копировать.
 

ZSharp

Client
Регистрация
29.09.2013
Сообщения
395
Благодарностей
126
Баллы
43
Ну или подскажите какой-то другой алгоритм действий, типа в случае ошибки сначала удалить папку с файлами, а потом копировать.
C#:
string fileNew = downloadPathXL + "\\" + fileName; // Формируем путь к новому файлу

if (File.Exists(fileNew)) // Проверка существования файла
{
    File.Delete(fileNew); // Удалить если файл существует
}

File.Move(fileXL, fileNew); // Перемещение файла
 
  • Спасибо
Реакции: SVRyzhov

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