Boost logo

Boost Users :

From: Johan Nilsson (r.johan.nilsson_at_[hidden])
Date: 2006-05-22 07:53:15


I'd like to replace all parts of a string with the results of calling a
function, passing the match as a parameter. Some pseudo-code:

std::string replacer(smatch& s)
    return std::getenv(s[1].c_str());
std::string const input = "This is ${USER} on ${HOST}";
boost::regex const re("\\$\\{([^\\}]+)\\}");
std::string result = boost::regex_replace(input, re, 
assert("This is Me on MyWorkstation" == result);
(I'm sure there are errors above, but I hope you get the general idea).
Any easy way to do something similar?
// Johan

Boost-users list run by williamkempf at, kalb at, bjorn.karlsson at, gregod at, wekempf at