splitTokens()
Data / String FunctionsDescription
Splits a string into substrings using any character in the delimiters string.
Syntax
std::vector<std::string> splitTokens(std::string s, std::string delims)
Parameters
| Name | Type | Description |
|---|---|---|
| s | std::string | the string to split |
| delims | std::string | string of delimiter characters |
Returns
std::vectorRelated
Under the Hood
From Processing.h:
inline std::vector<std::string> splitTokens(const std::string& s, const std::string& delims) {
std::vector<std::string> o; std::string cur;
for (char c:s) {
if (delims.find(c)!=std::string::npos) { if(!cur.empty()){o.push_back(cur);cur.clear();} }
else cur+=c;
}
if (!cur.empty()) o.push_back(cur);
return o;
}
static std::vector<std::string> splitTokens(const std::string& s, const std::string& d);
Under the Hood
From Processing.cpp:
std::vector<std::string> PApplet::splitTokens(const std::string& s, const std::string& delims) {
std::vector<std::string> r; std::string t;
for (char c : s) { if (delims.find(c)!=std::string::npos){if(!t.empty()){r.push_back(t);t.clear();}}else t+=c; }
if (!t.empty()) r.push_back(t); return r;
}