Название: Распарсить строку-шаблон с помощью RegExp Отправлено: Fregloin от Ноябрь 24, 2011, 13:25 Привет. Столкнулся с такой задачей.
Есть перечень строк-шаблонов вида "Светофор %lightname изменил состояние (%lightstate), теперь %onoff!". Нужно вместо lightname,%lightstate и %onoff подставить вычисляемые значения (значения вычисляются в коде). Я делал раньше тупой сплит по пробелам, смотрел, если первый символ %, то подставлял вместо него нужное слово,но к сожалению (%lightstate) и %onoff! не катит. Я так понимаю, есть смысл каждый элемент списка(результат split) проверять еще на RegExp? Как мне сделать так, что бы находилось слово(одни символы латиницы) за %? и вместо них уже подставить нужное значение. т.е. к примеру %lightname:%lightstate! стало светофор:открыт! Название: Re: Распарсить строку-шаблон с помощью RegExp Отправлено: madRoger от Ноябрь 24, 2011, 13:31 Может просто заменять слова в тексте с помощью QString::replace( const QString & before, const QString & after, Qt::CaseSensitivity cs = Qt::CaseSensitive ) ?
Название: Re: Распарсить строку-шаблон с помощью RegExp Отправлено: Fregloin от Ноябрь 24, 2011, 15:00 хм, как вариант попробую, спасибо.
Название: Re: Распарсить строку-шаблон с помощью RegExp Отправлено: trot от Ноябрь 25, 2011, 17:22 Вот тебе регулярное выражение, которое будет искать нужные слова, ну а дальше дело техники
%[a-zA-Z]+ |