Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: SPI_TFTx2 SPI_TFTx2_ILI9341 TFT_fonts TOUCH_TFTx2 mbed
Fork of CANary_9341 by
Util/stringUtils.cpp@146:88f7bda79d8e, 2013-08-07 (annotated)
- Committer:
- TickTock
- Date:
- Wed Aug 07 12:35:04 2013 +0000
- Revision:
- 146:88f7bda79d8e
- Parent:
- 1:9dcd70c32180
restored support libraries
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| TickTock | 1:9dcd70c32180 | 1 | |
| TickTock | 1:9dcd70c32180 | 2 | |
| TickTock | 1:9dcd70c32180 | 3 | #include "stringUtils.h" |
| TickTock | 1:9dcd70c32180 | 4 | |
| TickTock | 1:9dcd70c32180 | 5 | using namespace std; |
| TickTock | 1:9dcd70c32180 | 6 | |
| TickTock | 1:9dcd70c32180 | 7 | string trim(const string& src, const string& c) |
| TickTock | 1:9dcd70c32180 | 8 | { |
| TickTock | 1:9dcd70c32180 | 9 | int p2 = src.find_last_not_of(c); |
| TickTock | 1:9dcd70c32180 | 10 | if (p2 == string::npos) |
| TickTock | 1:9dcd70c32180 | 11 | { |
| TickTock | 1:9dcd70c32180 | 12 | return string(); |
| TickTock | 1:9dcd70c32180 | 13 | } |
| TickTock | 1:9dcd70c32180 | 14 | |
| TickTock | 1:9dcd70c32180 | 15 | int p1 = src.find_first_not_of(c); |
| TickTock | 1:9dcd70c32180 | 16 | if (p1 == string::npos) |
| TickTock | 1:9dcd70c32180 | 17 | { |
| TickTock | 1:9dcd70c32180 | 18 | p1 = 0; |
| TickTock | 1:9dcd70c32180 | 19 | } |
| TickTock | 1:9dcd70c32180 | 20 | |
| TickTock | 1:9dcd70c32180 | 21 | return src.substr(p1, (p2-p1)+1); |
| TickTock | 1:9dcd70c32180 | 22 | } |
| TickTock | 1:9dcd70c32180 | 23 | |
| TickTock | 1:9dcd70c32180 | 24 | vector<string> tokenize(const string& str, const string& delimiters) |
| TickTock | 1:9dcd70c32180 | 25 | { |
| TickTock | 1:9dcd70c32180 | 26 | vector<string> tokens; |
| TickTock | 1:9dcd70c32180 | 27 | |
| TickTock | 1:9dcd70c32180 | 28 | // Skip delimiters at beginning. |
| TickTock | 1:9dcd70c32180 | 29 | string::size_type lastPos = str.find_first_not_of(delimiters, 0); |
| TickTock | 1:9dcd70c32180 | 30 | // Find first "non-delimiter". |
| TickTock | 1:9dcd70c32180 | 31 | string::size_type pos = str.find_first_of(delimiters, lastPos); |
| TickTock | 1:9dcd70c32180 | 32 | |
| TickTock | 1:9dcd70c32180 | 33 | while (string::npos != pos || string::npos != lastPos) |
| TickTock | 1:9dcd70c32180 | 34 | { |
| TickTock | 1:9dcd70c32180 | 35 | // Found a token, add it to the vector. |
| TickTock | 1:9dcd70c32180 | 36 | tokens.push_back(str.substr(lastPos, pos - lastPos)); |
| TickTock | 1:9dcd70c32180 | 37 | // Skip delimiters. Note the "not_of" |
| TickTock | 1:9dcd70c32180 | 38 | lastPos = str.find_first_not_of(delimiters, pos); |
| TickTock | 1:9dcd70c32180 | 39 | // Find next "non-delimiter" |
| TickTock | 1:9dcd70c32180 | 40 | pos = str.find_first_of(delimiters, lastPos); |
| TickTock | 1:9dcd70c32180 | 41 | } |
| TickTock | 1:9dcd70c32180 | 42 | |
| TickTock | 1:9dcd70c32180 | 43 | return tokens; |
| TickTock | 1:9dcd70c32180 | 44 | } |
