| 364 | } |
| 365 | |
| 366 | void SimpleString::split(const SimpleString& delimiter, SimpleStringCollection& col) const |
| 367 | { |
| 368 | size_t num = count(delimiter); |
| 369 | size_t extraEndToken = (endsWith(delimiter)) ? 0 : 1U; |
| 370 | col.allocate(num + extraEndToken); |
| 371 | |
| 372 | const char* str = getBuffer(); |
| 373 | const char* prev; |
| 374 | for (size_t i = 0; i < num; ++i) { |
| 375 | prev = str; |
| 376 | str = StrStr(str, delimiter.getBuffer()) + 1; |
| 377 | col[i] = SimpleString(prev).subString(0, size_t (str - prev)); |
| 378 | } |
| 379 | if (extraEndToken) { |
| 380 | col[num] = str; |
| 381 | } |
| 382 | } |
| 383 | |
| 384 | void SimpleString::replace(char to, char with) |
| 385 | { |