How can I split a string with Boost with a regex AND have the delimiter included in the result list?
for example, if I have the string “1d2” and my regex is “[a-z]” I want the results in a vector with (1, d, 2)
I have:
std::string expression = "1d2";
boost::regex re("[a-z]");
boost::sregex_token_iterator i (expression.begin (),
expression.end (),
re);
boost::sregex_token_iterator j;
std::vector <std::string> splitResults;
std::copy (i, j, std::back_inserter (splitResults));
Thanks
I think you cannot directly extract the delimiters using boost::regex. You can, however, extract the position where the regex is found in your string:
This example would show:
Using this information, you can extract the delimitiers from your original string:
This example would show:
There is an empty string betwen b and c because there is no delimiter.