implementing split function in c++
void tokenize(string &str, char delim, vector<string> &out)
{
size_t start;
size_t end = 0;
while ((start = str.find_first_not_of(delim, end)) != string::npos)
{
end = str.find(delim, start);
out.push_back(str.substr(start, end - start));
}
}
int main()
{
string s="a;b;c";
char d=';';
vector<string> a;
tokenize(s,d,a);
for(auto it:a) cout<<it<<" ";
return 0;
}
3.7
10
// splits a std::string into vector<string> at a delimiter
vector<string> split(string x, char delim = ' ')
{
x += delim; //includes a delimiter at the end so last word is also read
vector<string> splitted;
string temp = "";
for (int i = 0; i < x.length(); i++)
{
if (x[i] == delim)
{
splitted.push_back(temp); //store words in "splitted" vector
temp = "";
i++;
}
temp += x[i];
}
return splitted;
}
Thank you!
10
0
4.5
2
std::string s = "scott>=tiger>=mushroom";
std::string delimiter = ">=";
size_t pos = 0;
std::string token;
while ((pos = s.find(delimiter)) != std::string::npos) {
token = s.substr(0, pos);
std::cout << token << std::endl;
s.erase(0, pos + delimiter.length());
}
std::cout << s << std::endl;
Thank you!
2
0
Are there any code examples left?
New code examples in category C++