Russian Qt Forum
Май 15, 2024, 18:05 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Распарсить строку-шаблон с помощью RegExp  (Прочитано 4187 раз)
Fregloin
Супер
******
Offline Offline

Сообщений: 1025


Просмотр профиля
« : Ноябрь 24, 2011, 13:25 »

Привет. Столкнулся с  такой задачей.
Есть перечень строк-шаблонов вида
"Светофор %lightname изменил состояние (%lightstate), теперь %onoff!".
Нужно вместо lightname,%lightstate и %onoff подставить вычисляемые значения (значения вычисляются в коде).
Я делал раньше тупой сплит по пробелам, смотрел, если первый символ %, то подставлял вместо него нужное слово,но к сожалению (%lightstate) и %onoff! не катит.
Я так понимаю, есть смысл каждый элемент списка(результат split) проверять еще на RegExp? Как мне сделать так, что бы находилось слово(одни символы латиницы) за %? и вместо них уже подставить нужное значение. т.е. к примеру
%lightname:%lightstate! стало светофор:открыт!
Записан
madRoger
Гость
« Ответ #1 : Ноябрь 24, 2011, 13:31 »

Может просто заменять слова в тексте с помощью QString::replace( const QString & before, const QString & after, Qt::CaseSensitivity cs = Qt::CaseSensitive ) ?
Записан
Fregloin
Супер
******
Offline Offline

Сообщений: 1025


Просмотр профиля
« Ответ #2 : Ноябрь 24, 2011, 15:00 »

хм, как вариант попробую, спасибо.
Записан
trot
Гость
« Ответ #3 : Ноябрь 25, 2011, 17:22 »

Вот тебе регулярное выражение, которое будет искать нужные слова, ну а дальше дело техники
%[a-zA-Z]+
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.13 секунд. Запросов: 22.