本篇实现C++的string字符串拆分函数split。C++标准库中的string是没有此函数的,不像Java那样方便,但是我们可以尝试自己实现它。
代码:
list<string> split(string str, string separator)
{
list<string> result;
int cutAt;
while ((cutAt = str.find_first_of(separator)) != str.npos)
{
// 有可能存在string str = "a,,b,c",求split(str, ",")情况,所以每次都要判断cutAt是否为零
if (cutAt > 0)
{
result.push_back(str.substr(0, cutAt));
}
str = str.substr(cutAt + 1);
}
if (str.length() > 0)
{
result.push_back(str);
}
return result;
}
原文:http://my.oschina.net/keyven/blog/502224