Есть строка "/ставка 10 50". Числа 10 и 50 могут меняться. Необходимо записать их в нужные переменные. Так же сделать проверку, введено ли "/ставка" с двумя числами далее.
На подобии этого: if (test.Messages[0].Body == "/ставка " + число1 + " " + число2)
Это стандартная задача для регулярных выражений. Например, можно составить такое выражение: /ставка (?'number1'\d+) (?'number2'\d+)
. Здесь \d+
- означает последовательность из одной или более цифр, а конструкция (?'name'exp)
выделяет часть выражения в именованную группу, потом по этому имени удобно обращаться к конкретной части регулярного выражения.
Использовать регулярное выражение можно как-то так:
// Входная строка
var s = @"/ставка 10 50";
// Шаблон
var pattern = @"/ставка (?'number1'\d+) (?'number2'\d+)";
// Создаем из шаблона экземпляр регулярного выражения
var regex = new Regex(pattern);
// Проверяем строку на соответствие регулярному выражению
if (regex.IsMatch(s)) // Если соответствует
{
// Получаем сведения о совпадении
var match = regex.Match(s);
// Обращаемся к именованным группам, берем их значения и парсим в число
var number1 = int.Parse(match.Groups["number1"].Value);
var number2 = int.Parse(match.Groups["number2"].Value);
Console.WriteLine(number1);
Console.WriteLine(number2);
}
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Хотелось бы найти сетевую библиотеку для C# TCP/IP для создания многопоточных серверовХотелось, чтобы передача данных осуществлялась с помощью...
Пишу клиент-серверную системуДля управления сервером (включение, отключение, просмотр подключенных клиентов и т