split函数是一种将字符串按照指定字符分割成多个子字符串的函数。在 C++ 中并没有提供内置的 split 函数,但是可以使用 STL 中的 string 类和 algorithm 库来实现这个功能。
一种常见的实现方法是使用 STL 中的 string 类和 algorithm 库中的 find_first_of() 函数。这个方法的基本思路是到分割字符串中第一个分隔字符的位置,然后将它之前的字符串存储到结果数组中,然后将分隔字符之后的字符串作为新的字符串重复这个过程。
例如:
Copy code
#include <iostream>
#include <string>
#include <vector>
using namespace std;
vector<string> split(const string &str, char delimiter)
{
vector<string> result;
string tmp = str;
size_t pos = 0;
while ((pos = tmp.find(delimiter)) != string::npos) {
result.push_back(tmp.substr(0, pos));
ase(0, pos + 1);
}
result.push_back(tmp);
return result;
}
int main()
{
string str = "Hello,world,how,are,you";
vector<string> res = split(str, ',');
for(auto& s : res) cout << s << endl;
return 0;
}
上面的代码将字符串 "Hello,world,how,are,you" 按照 "," 进行分割,并将结果存储在 vector 容器中。
还有其他第三方库提供了split函数,如Boost, boost::split,stringstream等, 您可以查阅相关文档.
>java中split的用法
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论