41 SplitBy(
const std::string& originalString,
const std::string& delimiter,
bool includeEmptyToken)
43 std::vector<std::string> tokens;
46 while ((next = originalString.find(delimiter, cur)) != std::string::npos)
49 if (next - cur > 0 || includeEmptyToken)
51 tokens.push_back(originalString.substr(cur, next - cur));
53 cur = next + delimiter.size();
57 if (originalString.size() - cur > 0 || includeEmptyToken)
59 tokens.push_back(originalString.substr(cur, originalString.size() - cur));
65std::string
Strip(
const std::string& originalString,
const std::string& characterSet)
67 if (characterSet.empty())
71 const std::size_t firstFound = originalString.find_first_not_of(characterSet);
72 const std::size_t lastFound = originalString.find_last_not_of(characterSet);
74 if (firstFound == std::string::npos || lastFound == std::string::npos)
78 return originalString.substr(firstFound, lastFound + 1 - firstFound);
std::vector< std::string > SplitBy(const std::string &originalString, const std::string &delimiter, bool includeEmptyToken)
Split a string into tokens by a delimiter.