您的位置:首页 > 编程语言 > C语言/C++

c++实现split()字符串切片

2015-05-02 14:00 471 查看
IDE是VS2013.

#include<iostream>
#include <vector>
#include<string>
using namespace std;
vector<string> split(const string& src, string separate_character)
{
vector<string> strs;
int separate_characterLen = separate_character.size();//分割字符串的长度,这样就可以支持如“,,”多字符串的分隔符
int lastPosition = 0, index = -1;
while (-1 != (index = src.find(separate_character, lastPosition)))
{
strs.push_back(src.substr(lastPosition, index - lastPosition));
lastPosition = index + separate_characterLen;
}
string lastString = src.substr(lastPosition);//截取最后一个分隔符后的内容
if (!lastString.empty())
strs.push_back(lastString);//如果最后一个分隔符后还有内容就入队
return strs;
}
int _tmain(int argc, _TCHAR* argv[])
{
string s = "12.45.78";
string del =".";
vector<string> strs = split(s,del);
for (int i = 0; i < strs.size(); i++)
{
cout << strs[i]<<' ';
}
cout << endl;
system("pause");
return 0;
}
运行结果:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: