Распознать команду в строке - C#
Формулировка задачи:
Всем привет , хочу спросить, вот есть в textboxe строке -"Быстро ехал {@паровоз } ". При нажатие на батон надо что бы система поняла что в них{} находится команда и исходя из символа который в них (это @) и ключевому слову(их будет много допустим паровоз ) , делала нужную команду, к примеру выводила картинку .
Думал сделать что то типо этого :
И дальше условие мне нужное .
Думаю вот можно оформить пограмотнее .
string s1 = textbox;
string s2 =@паровоз ;
bool b = s1.Contains(s2);
bool b = s1.Contains(s2);
if (b) {
int index = s1.IndexOf(s2);
if (index >= 0)
}Решение задачи: «Распознать команду в строке»
textual
Листинг программы
Dictionary<string, Action> actions = new Dictionary<string, Action>();
actions["паровоз"] = () => Console.WriteLine("Чух-чух!");
actions["тепловоз"] = () => Console.WriteLine("Пых-пых!");
string s1 = "Быстро ехал {@паровоз}";
Regex r = new Regex(@"{@(\w+)}", RegexOptions.IgnoreCase);
Match match = r.Match(s1);
if (match.Success && actions.ContainsKey(match.Groups[1].Value))
actions[match.Groups[1].Value]();