Utility library. Some string and mbed memory utilities.

Dependents:   19E042PIM_T3_2020_0639

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