在我们的实际应用当中,字符串分割是很重要的一个功能,但是 C++ 的 string 并没有为我们提供这个功能,所以说我们只有自己动手实现.实现代码如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
#include <string>
#include <vector>
using namespace std;
vector<string> splitString(string str,string pattern)
{
string::size_type pos; // 查找到的位置
vector<string> result; // 返回的字符串
str+=pattern;
int size=str.size();
for(int i=0;i<size;i++)
{
pos = str.find(pattern,i);
if(pos<size)
{
string s = str.substr(i,pos-i);
result.push_back(s);
i = pos+pattern.size()-1;
}
}
return result;
}
|