c++ trim
void StrUtils::trim(string& str, const string& token) {
ltrim(str, token);
rtrim(str, token);
}
void StrUtils::ltrim(string& str, const string& token) {
if (str.empty()) return;
string::size_type pos = str.find_first_not_of(token);
if (pos != 0) str.erase(0, pos);
}
void StrUtils::rtrim(string& str, const string& token) {
if (str.empty()) return;
string::size_type pos = str.find_last_not_of(token);
if (pos != std::string::npos && pos != str.size() - 1) str.erase(pos + 1);
}