Есть строка, которая может иметь следующий вид, числа в конце строки каждый раз разные:
var str = "{Count}-1"
var str = "{Count}+5"
var str = "{Count}/3"
var str = "{Count}*2"
Как мне обработать эту строку, что бы в строке осталось просто var str = "{Count}"
, в отдельной переменной было бы арифметическое действие, например: var arifm = "+"
и в третьей переменной было бы число, например: var count = 10
. Каким образом это можно сделать?
Решение с помощью регулярки:
var pattern = @"(?'param'\{\w+\})(?'arifm'.)(?'count'\d+)";
var input = @"{Count}-1";
var match = Regex.Match(input, pattern);
var param = match.Groups["param"].Value;
var arifm = match.Groups["arifm"].Value;
var count = match.Groups["count"].Value;
Регулярка простая, для удобства использования я добавил именованные группы.
\{\w+\} — захватывает фигурные скобки и последовательность (1 и более)
букв/цифр/подчеркивания между ними
. — захватывает один любой символ
\d+ — захватывает последовательность (1 и более) цифр
(?'name'pattern) — создает именованную группу, соответствующую шаблону pattern,
значение которой потом можно будет извлечь по имени name
Можно укоротить регулярку до такой: (\{\w+\})(.)(\d+)
, но извлекать группы придется по индексам (отсчет с 1, т. к. нулевая группа — весь шаблон полностью):
var param = match.Groups[1].Value;
var arifm = match.Groups[2].Value;
var count = match.Groups[3].Value;
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Виртуальный выделенный сервер (VDS) становится отличным выбором
И снова к вопросу, надо ли тестировать и использовать статические методыЧто-то эта тема опять всплыла: раз, два
Как правильно сохранить html блок и использовать его как переменную в других файлах? Задача автоматизировать добавление некоторых кусков...
Запуcтили сайт, всё вроде бы хорошо, но начала вылетать ошибка что не может подключиться заметил что это происходит при большой нагрузкес...