Здравствуйте, C0s, Вы писали:
C0s>Здравствуйте, Eugene Novikov, Вы писали:
EN>>Нее, мне не так надо.
Реально в программу передается шаблон строки и там как угодно могут стоять переменные типа %value%. И нужно именно используя шаблон, как то его распарсить, и вставить нужные реальные величины. А шаблон я привел ваще с потолка. Реально там может быть что угодно. Мне нужен именно алгоритм как в шаблоне найти заданное место куда вставить соответствующие значения.
C0s>я не уверен, что точно понимаю смысл написанного
C0s>я к тому, что синтаксис шаблона надо зафиксировать, и лучше это делать, исходя из имеющихся библиотечных возможностей (ясно, что String.format — это слишком просто, но бывают движки и помощнее, типа velocity/freemarker или mvel templates). кроме синтаксиса, надо и возможный список имён переменных тоже зафиксировать — набор их значений всегда будет передаваться в вызов подстановщика
Да, имена переменных будут фиксированными, но вот то что шаблон будет фиксированным это вряд ли. Я то бы только "за", мне бы проще было. Но там такая ситуация, что хотят задавать шаблоны для SMS сообщений, в которые надо подставлять данные считанные с приборов. Например: "Напряжение на входе %AI0% вольт" , и мне надо вычислить что надо подставить значение с 0-го входа. Но могут и по другому сформировать сообщение, например добавить в него еще переменных, или поставить %AI0% в другое место.
Мне надо что то из серии как в винде переменные окружения задаются типа %SystemRoot%\system32 что на самом деле означает C:\Windows\system32. Там же шаблон не фиксирован и можно где угодно вставлять этот %SystemRoot%
Мощные движки мне тоже не подойдут, т.к. крутится все это на Java2ME.