Using TokenScanner
Index Card

string generateStory(string template, Map& data) {
   string result;
   Tokenscanner scanner;
   scanner.setInput(template);

   while(scanner.hasMoreTokens()) {
      string token=scanner.nextToken();
      if(token[0]=='{')  {
         string remainder="";
         if(token.find('}')!=token.length()-1)  remainder=token.substr(token.find('}')+1);
         string key=token.substr(1, token.find('}'-1);
         result+=data.get(key) + remainder;
   }
   return result;
}

   Login to remove ads X
Feedback | How-To