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

  • Автор темы Автор темы CSS
  • Дата начала Дата начала
Добрый день!
Есть список с ссылками вида
...https://news.google.com/articles/CBMie2h0dHBzOi8vbmV3cy5saWdhLm5ldC93b3JsZC9uZXdzL211amNoaW5hLXMtb3J1amllbS1weXRhbHN5YS1wcm9uaWtudXQtdi12aW5kem9yc2tpeS16YW1vay10YW0ta29yb2xldmEtcHJhemRudWV0LXJvamRlc3R2b9IBf2h0dHBzOi8vbmV3cy5saWdhLm5ldC9hbXAvd29ybGQvbmV3cy9tdWpjaGluYS1zLW9ydWppZW0tcHl0YWxzeWEtcHJvbmlrbnV0LXYtdmluZHpvcnNraXktemFtb2stdGFtLWtvcm9sZXZhLXByYXpkbnVldC1yb2pkZXN0dm8?hl=ru&gl=UA&ceid=UA%3Aru...
(точки перед и в конце ссылки отсутствуют - я поставил, так как не дает тут разместить ссылку)

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

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


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

Например в списке слова:
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();
}
 
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
 
Как взять случайную строку из списка , которая содержит одно из слов

Например в списке слова:
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]; // получить в переменную рандомную строку

На всякий, прикрепил проект.)
 

Вложения

Последнее редактирование:
спасибо, а как совместить, чтобы ИЛИ, в примере только 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
Как взять случайную строку из списка , которая содержит одно из слов

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


Нужно взять из этого списка рандомно строку содержащее слово Zennoposter или слово Proxy, как это реализовать?
Я бы сначала через Обработка текста → Spintax (https://zennolab.atlassian.net/wiki/spaces/RU/pages/488865793#Spintax) взял рандомное слово, а потом брал строку, содержащее это слово. 2 кубика, без с#.
 
  • Спасибо
Реакции: udder
Всем привет. Подскажите пожалуйста Get-запрос, которым можно узнать сообщения в канале телеграма. Очень надо, готов заплатить. Пример: я отправляю в свой канал какое-либо сообщение, бот периодически отправляет этот Get-запрос и получает либо моё новое сообщение, либо хотя бы скопом последние Х сообщений в канале...
 
Привет. Ребята, подскажите как можно реализовать снипетом такую логику: в переменной X есть десятичная дробь (2,4), нужно от нее отнять 1 (2,4-1=1,4) и получившееся число перевести в простую дробь (1,4 -> 7/5). И уже в таком виде засунуть в переменную Y.
 
Привет. Ребята, подскажите как можно реализовать снипетом такую логику: в переменной 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
Тупо копировать оттуда и вставлять сюда не хотел, так что вот:
Пример раз: code-enjoy.ru/perevod_desatichnih_drobey_v_obichnie_si_sharp/
Пример два: ru.stackoverflow.com/questions/718530/
Спасибо, конечно за подсказку. Но я в C# совсем ничего не понимаю. И если просто скопипатить этот код, то ничего не происходит. Не поможешь разобраться?
 
  • Спасибо
Реакции: djaga
Привет. Ребята, подскажите как можно реализовать снипетом такую логику: в переменной X есть десятичная дробь (2,4), нужно от нее отнять 1 (2,4-1=1,4) и получившееся число перевести в простую дробь (1,4 -> 7/5). И уже в таком виде засунуть в переменную Y.

В общий крд добавляем:

lhViwqB.jpg


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# вызываем:

zF7xYKY.jpg



C#:
Развернуть Свернуть Копировать
string resDrobe =  CommonCode.Drob(double.Parse(project.Variables["number"].Value.Replace(".",",")));
project.Variables["result"].Value = resDrobe;

результат:

b1U8zVT.jpg


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

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

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

66CBH9o.jpg


C#:
Развернуть Свернуть Копировать
string resDrobe =  CommonCode.Drob(double.Parse(project.Variables["number"].Value.Replace(".",","))-double.Parse(project.Variables["minus_number"].Value));
project.Variables["result"].Value = (resDrobe);

hWrMBxt.jpg
 

Вложения

Последнее редактирование:
В общий код
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);
 
Как из директории взять файл с самой "старой" датой его изменения, при условии что директория указывается в переменной в настройках проекта?
Как другим кубиком можно выполнить проверку что с даты последнего изменения прошло Х дней?
 
Как из директории взять файл с самой "старой" датой его изменения, при условии что директория указывается в переменной в настройках проекта?
Как другим кубиком можно выполнить проверку что с даты последнего изменения прошло Х дней?
Здесь было обсуждение с методом решения:
 
Видел, но там обсуждается Project.Directory + вариации внутренних папок.
К сожалению знаний в C# нет, поэтому переделать код, чтобы вместо
"EnumerateFiles(project.Directory + @"\Профили\Нужные профили\")"

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

Плюс хотелось бы Отдельно кубик с проверкой "отлежки".
Или лучше в ту тему задать?
 
Видел, но там обсуждается Project.Directory + вариации внутренних папок.
К сожалению знаний в C# нет, поэтому переделать код, чтобы вместо
"EnumerateFiles(project.Directory + @"\Профили\Нужные профили\")"

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

Плюс хотелось бы Отдельно кубик с проверкой "отлежки".
Или лучше в ту тему задать?
Да, лучше туда написать - там релевантнее тема.
 
Видел, но там обсуждается 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");
 
Помогите разобраться, почему не происходит клик?
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();
 
Последнее редактирование:
Подскажите, как обработать переменную c текстом, чтобы удалить из нее строки где меньше 5 слов, например :-)

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

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

Выделил строки которые нужно удалить!
 
Подскажите, как обработать переменную c текстом, чтобы удалить из нее строки где меньше 5 слов, например :-)
"Обработка текста - Замена" на пустоту по регулярке: (?<=(\r?\n|^)).{0,100}(?=(\r?\n|$))
Правда не по кол-ву слов, а по кол-ву символов идет отбор, но если принять что ср. кол-во символов в слове 10-15, то можно играться значениями до ~ 50-100.

90647
 
  • Спасибо
Реакции: udder
Нужно отнять от числа 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);
 
как-то так

C#:
Развернуть Свернуть Копировать
int num1 = int.Parse(project.Variables["Var"].Value);
int num2 = (int)Math.Round(num1*0.99);
return num1==num2?num1-1:num2;
 
Последнее редактирование:
  • Спасибо
Реакции: Gllory
Как из текста удалить словесную конструкцию когда идет: СЛОВО.РУБРИКА т.е когда идет слово какое то и сразу после слова точка со словом, эту часть нужно ВЫРЕЗАТЬ.
Например. Выделил слова которые нужно удалить
Я посещаю сайт yandex.com, иногда яндекс.рф или ya.ru , но ежедневно ищу информацию через поисковую систему google
 
Как из текста удалить словесную конструкцию когда идет: СЛОВО.РУБРИКА т.е когда идет слово какое то и сразу после слова точка со словом, эту часть нужно ВЫРЕЗАТЬ.
Например. Выделил слова которые нужно удалить

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
Подскажите снипет для поиска совпадений.
Есть строки
string a = "QWE";
string b = "ASQWE"; // в етой строке ищем
На выходе подобное етому значению AS<Q><W><E>

В строке где ищем может быть и так, всегда по разному
string b = "ASQWETY"; // в етой строке ищем, здесь так должно получиться AS<Q><W><E>TY
 
Подскажите снипет для поиска совпадений.
Есть строки
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
Приветствую!
Перемещаю папки с файлами следующим кодом
C#:
Развернуть Свернуть Копировать
File.Move(fileXL, downloadPathXL + "\\" + fileName); //перемещение с переименованием
Все работает прекрасно, до тех пор пока не встретятся одинаковые имена папок или файлов.
При попытке перемещения с заменой таким кодом
C#:
Развернуть Свернуть Копировать
File.Move(fileXL, downloadPathXL + "\\" + fileName, true); //перемещение с переименованием и заменой
Вылазит ошибка "No overload for method 'Move' takes 3 arguments"
Подскажите в чем косяк и как с ним бороться.

Ну или подскажите какой-то другой алгоритм действий, типа в случае ошибки сначала удалить папку с файлами, а потом копировать.
 
Ну или подскажите какой-то другой алгоритм действий, типа в случае ошибки сначала удалить папку с файлами, а потом копировать.
C#:
Развернуть Свернуть Копировать
string fileNew = downloadPathXL + "\\" + fileName; // Формируем путь к новому файлу

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

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

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