c++实现split函数
来源:互联网 发布:有关于网络的卡通形象 编辑:程序博客网 时间:2024/06/16 21:49
今天工作因原因,需要实现一个split的功能,以前也做过,但一直没有把他记下来,所以又重新写了一次。这次做个笔记以备后用,各位网友感兴趣也可以直接拿来用过。
例子:
一个这样的字符串:“123,456,789,0”。把他截取成这样的字符串数组 [123],[456],[789],[0]。众所周知c++默认没有提供这样功能的函数,下面我们自己来实现它
不多说直接上代码:
代码
#include <iostream>
#include <string>
#include <vector>
using namespace std;
vector<string> splitEx(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 = "123,456,789,0,888";
string del = ",";
vector<string> strs = splitEx(s, del);
for ( unsigned int i = 0; i < strs.size(); i++)
{
cout << strs[i].c_str() << endl;
}
return 0;
}
#include <string>
#include <vector>
using namespace std;
vector<string> splitEx(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 = "123,456,789,0,888";
string del = ",";
vector<string> strs = splitEx(s, del);
for ( unsigned int i = 0; i < strs.size(); i++)
{
cout << strs[i].c_str() << endl;
}
return 0;
}
输出:
123456
789
0
888
PS:纯粹个人使用,没有经过严格测试,也许还有一些考虑不周的地方,欢迎大家指出。
希望天一直是蓝的,真的很美......
0 0
- C语言实现Split函数
- c/c++ 实现split函数
- c语言 split函数的实现
- C库源代码实现: C/C++中的Split函数strtok
- C split函数
- SQL实现Split 函数
- Oracle 实现split函数
- oracle实现split函数
- Mysql实现split函数
- Mysql实现split函数
- c++实现split函数
- C++实现split函数
- Oracle实现split函数
- C++实现split函数
- SQL 实现Split函数
- split()函数的实现
- oracle实现split函数
- c++实现split函数
- android TextView加下划线的方法
- D12
- ios开发笔记之TextView
- 5 Examples of Different Types of CAPTCHAs
- Google 发布 Bottom Navigation design guidelines
- c++实现split函数
- 2016年阿里实习生面试经历及问题总结(2016-03-15)
- Intel Edison 换完Debian 后开机自动设置 Wifi
- SQl语句中使用占位符的优点
- web测试总结3
- html
- iOS-UITableView头视图动态布局
- mysql 如何设置自动增长序列 sequence(一)
- sql动态传入数组值