我需要通过分隔符标记字符串。
例如:
因为"One, Two Three,,, Four"
我需要得到{"One", "Two", "Three", "Four"}
.
我正在尝试使用此解决方案https://stackoverflow.com/a/55680/1034253
std::vector<std::string> strToArray(const std::string &str,
const std::string &delimiters = " ,")
{
boost::char_separator<char> sep(delimiters.c_str());
boost::tokenizer<boost::char_separator<char>> tokens(str.c_str(), sep);
std::vector<std::string> result;
for (const auto &token: tokens) {
result.push_back(token);
}
return result;
}
但我得到了错误:
boost-1_57\boost/tokenizer.hpp(62): 错误 C2228: '.begin' 的左边必须有类/结构/联合类型是 'const char *const'