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

  • Автор темы Автор темы CSS
  • Дата начала Дата начала
привет!
Надеюсь, кто-то может помочь пожалуйста. :-)

Как вычислить, сколько раз определенное слово или символ появляется в тексте в переменной?
Например, сколько раз "<p> " появляется в переменной?

Возможно ли это в C# или с помощью какого-либо метода обработки текста?

Спасибо!
Код:
Развернуть Свернуть Копировать
string inputText="<p>page<p>text</p></p>";
string regPattern = @"\<p\>";
return Regex.Matches(inputText,regPattern).Count;
 
  • Спасибо
Реакции: KitKat21 и orka13
Добрый день! Код считает количество строк содержащих слова Санкт-Петербург и Москва. А как сделать чтобы считало количество строк не содержащих эти слова. Спасибо.
Код:
Развернуть Свернуть Копировать
string text = string.Join("\r\n", project.Lists["Список"]);
string reg = @"(?i)(Санкт-Петербург|Москва)";
project.Variables["stet"].Value=Regex.Matches(text,reg).Count.ToString();
 
Добрый день! Код считает количество строк содержащих слова Санкт-Петербург и Москва. А как сделать чтобы считало количество строк не содержащих эти слова. Спасибо.
Код:
Развернуть Свернуть Копировать
string text = string.Join("\r\n", project.Lists["Список"]);
string reg = @"(?i)(Санкт-Петербург|Москва)";
project.Variables["stet"].Value=Regex.Matches(text,reg).Count.ToString();
Так отними от общего количества строк в списке те что нашло:
C#:
Развернуть Свернуть Копировать
string text = string.Join("\r\n", project.Lists["Список"]);
string reg = @"(?i)(Санкт-Петербург|Москва)";
project.Variables["stet"].Value = (project.Lists["Список"].Count - Regex.Matches(text,reg).Count).ToString();
 
  • Спасибо
Реакции: KitKat21
привет!
Надеюсь, кто-то может помочь пожалуйста. :-)

Как вычислить, сколько раз определенное слово или символ появляется в тексте в переменной?
Например, сколько раз "<p> " появляется в переменной?

Возможно ли это в C# или с помощью какого-либо метода обработки текста?

Спасибо!
ответ от evgen2208 подойдет, но придется постоянно экранировать спецсимволы в регулярке. Или можно автоматом экранировать (Regex.Escape), но я не уверен в надежности такого решения:
C#:
Развернуть Свернуть Копировать
string inputText="<p>page<p>text</p></p>";
string regPattern = "<p>";
regPattern = Regex.Escape(regPattern);
return Regex.Matches(inputText,regPattern).Count;

Сам заинтересовался и начал гуглить решения без регулярок, вот самое быстрое:
C#:
Развернуть Свернуть Копировать
string inputText="<p>page<p>text</p></p>";
string Pattern = "<p>";
return (inputText.Length - inputText.Replace(Pattern, "").Length) / Pattern.Length;
Но оно в 3 раза медленнее срабатывает на очень крупных текстах (тестировал на 30К тексте).
Материал из гугла по теме:
https://ru.stackoverflow.com/questions/67904/Количество-вхождений-подстроки/67905#67905
http://www.cyberforum.ru/csharp-beginners/thread197645.html
 
Последнее редактирование:
  • Спасибо
Реакции: KitKat21 и Sanekk
Так отними от общего количества строк в списке те что нашло:
C#:
Развернуть Свернуть Копировать
string text = string.Join("\r\n", project.Lists["Список"]);
string reg = @"(?i)(Санкт-Петербург|Москва)";
project.Variables["stet"].Value = (project.Lists["Список"].Count - Regex.Matches(text,reg).Count).ToString();

Сделал пока вот так, вроде работает
Код:
Развернуть Свернуть Копировать
string text = string.Join("\r\n", project.Lists["Список"]);
string reg = @"(?<=(^|\r\n))((?!(Санкт-Петербург|Москва|Минск)).)*(?=($|\r\n))";
project.Variables["stet"].Value = (project.Lists["Список"].Count - Regex.Matches(text,reg).Count).ToString();
 
снова кто круче. через линк нук давайте способ, там 0.1 секунда
 
снова кто круче. через линк нук давайте способ, там 0.1 секунда
я пас, даже не знаю что это такое, гугл не помог :). Да и скорость обработки играет роль только для оптимизации с ооочень крупными отрывками текста. Я чисто для себя замерял. У меня в тесте на 30К символов было 33 миллисекунды с регуляркой против 105 милисекунд через обычный ".Replace".
 
  • Спасибо
Реакции: KitKat21
@sergodjan66, @evgen2208, @orka13


Большое спасибо! )) Все эти решения отлично работают! Интересно видеть разные способы достижения результата.

Вы все очень помогли, спасибо!)
 
Можно ли получить количество нескольких элементов одновременно, используя один C# ?
Например, подсчитайте, сколько раз в общей сложности <li> <p> и <ul> появляются в тексте?
Я попытался использовать разделитель для поиска, но он возвращает 0 результатов. "<p>|<ul>|<li>"
 
Можно ли получить количество нескольких элементов одновременно, используя один C# ?
Например, подсчитайте, сколько раз в общей сложности <li> <p> и <ul> появляются в тексте?
Я попытался использовать разделитель для поиска, но он возвращает 0 результатов. "<p>|<ul>|<li>"

Ah, Он работает с "@" Перед.


string inputText=(project.Variables["Post_Content"].Value);
string regPattern = @"<p>|<li>|<ul>";
return Regex.Matches(inputText,regPattern).Count;

(Не уверен, как это сделать с кодом by orka13)
 
Последнее редактирование:
Привет, отправляю Get запрос - https://site.ru и сразу за ним в контроле трафика вижу что сайт отправляет пост запрос (ниже скрин скину) и мне нужно получить параметры етого пост запроса, как такое можно реализовать?
OgCGKjD.png


Шаблон не полностью на пост гет , с визуализацией заходит на сайт
 
Последнее редактирование:
Здравствуйте! Не подскажите как можно разделить цифры 12345, так чтобы каждая цифра лежала в своей переменной.
Пример
a - 1
b - 2
c - 3
d - 4
e - 5

Если есть регулярка, поделитесь пожалуйста.
 
Вроде бы сделал на кубиках , кому надо берите.
Если есть возможность сделать еще меньше кубиков, поделитесь пожалуйста. Просто ради развития.
 

Вложения

Вроде бы сделал на кубиках , кому надо берите.
Если есть возможность сделать еще меньше кубиков, поделитесь пожалуйста. Просто ради развития.


Код:
Развернуть Свернуть Копировать
(\d)(\d)(\d)(\d)(\d)

a8d12e817d88322b8f5eac8d3b9ca3d3.png
 
  • Спасибо
Реакции: one
Товарищи, помогите начинающему)

Как связать переменную и список который лежит НЕ в каталоге с шаблоном
Во входных настройках мы указываем путь до списка - в переменную списка ложится путь до него
И как связать другую переменную с этим путем до него ?

Это всё в C# конечно же)
 
Товарищи, помогите начинающему)

Как связать переменную и список который лежит НЕ в каталоге с шаблоном
Во входных настройках мы указываем путь до списка - в переменную списка ложится путь до него
И как связать другую переменную с этим путем до него ?

Это всё в C# конечно же)
Код:
Развернуть Свернуть Копировать
//Присваиваем переменной путь к файлу
string strFilePath = @"c:\file.txt";
//Создаём объект класса IZennoList, привязываемся к списку уровня проекта (исходный список)
IZennoList lstTest = project.Lists["Список 1"];
lstTest.Bind(strFilePath);

Если в список будут вноситься изменения то эти галочки включить
U7JzRcH.png
 
  • Спасибо
Реакции: Gefest
Код:
Развернуть Свернуть Копировать
//Присваиваем переменной путь к файлу
string strFilePath = @"c:\file.txt";
//Создаём объект класса IZennoList, привязываемся к списку уровня проекта (исходный список)
IZennoList lstTest = project.Lists["Список 1"];
lstTest.Bind(strFilePath);

Если в список будут вноситься изменения то эти галочки включить
U7JzRcH.png

Вторая часть понятна, первая не очень: почему путь до файла c:\file.txt, если в настройках проекта он может быть любой ?
http://joxi.ru/5mdkdlEt3Ll44r

Прогнал код - не вышло привязать, файл лежит на рабочем столе, так же может лежать в любой другой папке
 
string strFilePath = @"c:\file.txt"; замените на string strFilePath = project.Variables["PeremennayaSpisok"].Value;

забегая вперед что вы не разобрались , переменную замените на свою а то опять работать не будет. (никто ж не вангует что у вас там )
 
  • Спасибо
Реакции: Gefest
string strFilePath = @"c:\file.txt"; замените на string strFilePath = project.Variables["PeremennayaSpisok"].Value;

забегая вперед что вы не разобрались , переменную замените на свою а то опять работать не будет. (никто ж не вангует что у вас там )
Благодарю) Теперь всё работает и понятно!)
 
Люди добрые... подскажите... Есть вот такой снипет для полуавтоматических шаблонов.

Код:
Развернуть Свернуть Копировать
// сообщение
System.Windows.Forms.DialogResult result = System.Windows.Forms.MessageBox.Show("Нажмите \"Да\" или \"Нет\"", "Сделайте выбор", System.Windows.Forms.MessageBoxButtons.YesNo);
// выбор при нажатии да
if (result == System.Windows.Forms.DialogResult.Yes) return 1;
return 0;

Как будет выглядеть снипет для вывода своего набора кнопок!?

Возможно уже спрашивали... если да не пинайте сильно...

Спасибо!!!
 
Есть текст такого вида
87075151313:ma2satqwerty:658d91fe423dbd8351fd89a8868d872c0166752eb55f8e49d6fa4cca60fca0c024ad77a25b265c01298d2:179193958
Нужно получить только 658d91fe423dbd8351fd89a8868d872c0166752eb55f8e49d6fa4cca60fca0c024ad77a25b265c01298d2:179193958
Подскажите пожалуйста сниппет которые пропускает первые две :
 
Есть текст такого вида
87075151313:ma2satqwerty:658d91fe423dbd8351fd89a8868d872c0166752eb55f8e49d6fa4cca60fca0c024ad77a25b265c01298d2:179193958
Нужно получить только 658d91fe423dbd8351fd89a8868d872c0166752eb55f8e49d6fa4cca60fca0c024ad77a25b265c01298d2:179193958
Подскажите пожалуйста сниппет которые пропускает первые две :
Попробуйте такой регуляркой.
Код:
Развернуть Свернуть Копировать
(?<=.*:.*:).*
 
помогите со снипетом
Всем привет нужен совет бывалых)
В общем в одном из моих проектов столкнулся с проблемой в виде не коретной дате рождения не могу коректно составить регулярное выражение
допустим вид лога такой 5/5/1981 9/25/1993 а надо 05/05/1981 09/25/1993 тоесть нужно дописать нули что бы было коректное значение
после получения коретного значения его нужно грамотно заполнить
проблема в том что форма ввода постоянно меняется допустим с dd/mm/year на mm/dd/year

Может есть человек кто сможет дать готовый код? естественно не просто так. С готовым кодом мне как (человеку далекому от кодинга) будет легче влится и понять
 
помогите со снипетом
Всем привет нужен совет бывалых)
В общем в одном из моих проектов столкнулся с проблемой в виде не коретной дате рождения не могу коректно составить регулярное выражение
допустим вид лога такой 5/5/1981 9/25/1993 а надо 05/05/1981 09/25/1993 тоесть нужно дописать нули что бы было коректное значение
после получения коретного значения его нужно грамотно заполнить
проблема в том что форма ввода постоянно меняется допустим с dd/mm/year на mm/dd/year

Может есть человек кто сможет дать готовый код? естественно не просто так. С готовым кодом мне как (человеку далекому от кодинга) будет легче влится и понять
ну так показывай код откуда парсишь
 
C#:
Развернуть Свернуть Копировать
var text = "5/5/2019";
var result = "";

string[] arr = text.Split('/');

for (var i = 0; i < arr.Length; i++)
{
    var line = arr[i];
 
    if (line.Length < 2)
    {
        result += "0" + line + "/";
    }
    else
        result += line + "/";
}

return result.Trim('/');

или
Добавляем
using System.Globalization;

C#:
Развернуть Свернуть Копировать
string datestr = "23/9/2019";
string formatsrc1 = "d/m/yyyy";
string formatdst1 = "dd/mm/yyyy";
string formatsrc2 = "m/d/yyyy";
string formatdst2 = "mm/dd/yyyy";

try
{
    DateTime result = DateTime.ParseExact(datestr, formatsrc1, CultureInfo.InvariantCulture);
    return result.ToString(formatdst1).Replace(".", "/");
}
catch
{
    DateTime result = DateTime.ParseExact(datestr, formatsrc2, CultureInfo.InvariantCulture);
    return result.ToString(formatdst2).Replace(".", "/");
}
 
Последнее редактирование:
  • Спасибо
Реакции: MrOliver
Помогите со сниппетом сбора всей почты с ящика - для рамблера и для Gmail
Здесь на форуме нашел вот такое пешение

Код:
Развернуть Свернуть Копировать
var mail_login = project.Variables["mail_login"].Value;
var mail_pass = project.Variables["mail_pass"].Value;


// download all messages from gmail via IMAP
Tuple<string, string, string, string>[] allMails;
allMails = ZennoPoster.BulkMailDownload(mail_login,
       mail_pass, "imap.gmail.com", 993, true,
       ZennoLab.InterfacesLibrary.Enums.Email.EmailProtocol.IMAP,
       24*100, 100, false);

// loop fo all messages
foreach(Tuple<string, string, string, string> tuple in allMails)
{
    // adding messages to the table called Tabl1
    // tuple.Item1 - sibject, tuple.Item2 - from, tuple.Item3 - html message, tuple.Item4 - text message
      List<string> tmp = new List<string>();
       tmp.Add(tuple.Item1);
       tmp.Add(tuple.Item2);
       tmp.Add(tuple.Item3);
       tmp.Add(tuple.Item4);
       project.Tables["Tabl1"].AddRow(tmp);
}

Таблица само собой есть Tabl1, переменные тоже. mail_login и mail_pass
Отрабатывает - в логе пишет ОК а таблица остается пустой.

В идеале нужны сниппеты под gmail rambler mail.ru yahoo
Готов оплатить помощь.

Логин и пароль верные, если ввести не правильные напишет, ошибка аутентификации.

Заранее спасибо
 
Помогите со сниппетом сбора всей почты с ящика - для рамблера и для Gmail
Здесь на форуме нашел вот такое пешение

Код:
Развернуть Свернуть Копировать
var mail_login = project.Variables["mail_login"].Value;
var mail_pass = project.Variables["mail_pass"].Value;


// download all messages from gmail via IMAP
Tuple<string, string, string, string>[] allMails;
allMails = ZennoPoster.BulkMailDownload(mail_login,
       mail_pass, "imap.gmail.com", 993, true,
       ZennoLab.InterfacesLibrary.Enums.Email.EmailProtocol.IMAP,
       24*100, 100, false);

// loop fo all messages
foreach(Tuple<string, string, string, string> tuple in allMails)
{
    // adding messages to the table called Tabl1
    // tuple.Item1 - sibject, tuple.Item2 - from, tuple.Item3 - html message, tuple.Item4 - text message
      List<string> tmp = new List<string>();
       tmp.Add(tuple.Item1);
       tmp.Add(tuple.Item2);
       tmp.Add(tuple.Item3);
       tmp.Add(tuple.Item4);
       project.Tables["Tabl1"].AddRow(tmp);
}

Таблица само собой есть Tabl1, переменные тоже. mail_login и mail_pass
Отрабатывает - в логе пишет ОК а таблица остается пустой.

В идеале нужны сниппеты под gmail rambler mail.ru yahoo
Готов оплатить помощь.

Логин и пароль верные, если ввести не правильные напишет, ошибка аутентификации.

Заранее спасибо
используй сторонюю библиотеку MailKit
 
  • Спасибо
Реакции: iskrakovrov

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