return split_fields(str, string(1, sep), max_split);
}
-/**
-Splits a string to parts.
-
-@param str String to be split
-@param sep A set of separator characters
-@param allow_empty Whether or not to produce empty parts for sequences of
- more than one separator character
-*/
-vector<string> split(const string &str, const string &sep, bool allow_empty)
-{
- vector<string> result;
-
- string::size_type start=0;
- if(!allow_empty)
- start=str.find_first_not_of(sep);
-
- while(start<str.size())
- {
- string::size_type end=str.find_first_of(sep, start);
- result.push_back(str.substr(start, end-start));
-
- if(end==string::npos)
- break;
-
- if(allow_empty)
- {
- start=end+1;
- if(start==str.size())
- result.push_back(string());
- }
- else
- start=str.find_first_not_of(sep, end);
- }
-
- return result;
-}
-
-vector<string> split(const string &str, char sep, bool allow_empty)
-{
- return split(str, string(1, sep), allow_empty);
-}
-
string strip(const string &s)
{
string result=s;