i am trying to split a string with 2 delimiters '+' and '-' in C++ using a string find a delimiter...
can anyone give me a go around...
Using
str.find(delimiter)
example :
a+b-c+d
Output Required: a b c d
Thanks in advance
Using std::string::substr
and std::string::find
std::vector<std::string> v ; //Use vector to add the words
std::size_t prev_pos = 0, pos;
while ((pos = str.find_first_of("+-", prev_pos)) != std::string::npos)
{
if (pos > prev_pos)
v.push_back(str.substr(prev_pos, pos-prev_pos));
prev_pos= pos+1;
}
if (prev_pos< str.length())
v.push_back(str.substr(prev_pos, std::string::npos));
Or if you use boost
it will be lot easier
#include <boost/algorithm/string.hpp>
std::vector<std::string> v;
boost::split(v, line, boost::is_any_of("+-"));
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With