Utility library. Some string and mbed memory utilities.
Dependents: 19E042PIM_T3_2020_0639
Diff: stringUtils.cpp
- Revision:
- 0:3d93ff64fdee
diff -r 000000000000 -r 3d93ff64fdee stringUtils.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/stringUtils.cpp Sun Jun 19 13:13:00 2011 +0000 @@ -0,0 +1,44 @@ + + +#include "stringUtils.h" + +using namespace std; + +string trim(const string& src, const string& c) +{ + int p2 = src.find_last_not_of(c); + if (p2 == string::npos) + { + return string(); + } + + int p1 = src.find_first_not_of(c); + if (p1 == string::npos) + { + p1 = 0; + } + + return src.substr(p1, (p2-p1)+1); +} + +vector<string> tokenize(const string& str, const string& delimiters) +{ + vector<string> tokens; + + // Skip delimiters at beginning. + string::size_type lastPos = str.find_first_not_of(delimiters, 0); + // Find first "non-delimiter". + string::size_type pos = str.find_first_of(delimiters, lastPos); + + while (string::npos != pos || string::npos != lastPos) + { + // Found a token, add it to the vector. + tokens.push_back(str.substr(lastPos, pos - lastPos)); + // Skip delimiters. Note the "not_of" + lastPos = str.find_first_not_of(delimiters, pos); + // Find next "non-delimiter" + pos = str.find_first_of(delimiters, lastPos); + } + + return tokens; +} \ No newline at end of file