C++有多种方法可以切割String对象,下面介绍其中两种。
方法一:使用stringstream
stringstream是一个可用于输入和输出的字符串流类。可以通过向其写入字符串,再从中读取字符串,实现将字符串按照指定分隔符进行切割的功能。
示例代码如下:
#include <iostream>
#include <string>
#include <sstream>
#include <vector>
using namespace std;
int main() {
string s = "apple,banana,orange";
stringstream ss(s);
string item;
vector<string> items;
while (getline(ss, item, ',')) {
items.push_back(item);
}
for (auto str : items) {
cout << str << endl;
}
return 0;
}
上述代码将字符串s按逗号分隔符进行切割,将结果存放在一个vector
方法二:使用boost库
boost库是一个流行的C++扩展库,其中包含了很多常用的工具类和函数。其中boost::split()可以用来切割字符串。
使用前需要先下载boost库,并将其包含在项目中。
示例代码如下:
#include <iostream>
#include <string>
#include <vector>
#include <boost/algorithm/string.hpp>
using namespace std;
using namespace boost::algorithm;
int main() {
string s = "apple,banana,orange";
vector<string> items;
split(items, s, is_any_of(","));
for (auto str : items) {
cout << str << endl;
}
return 0;
}
上述代码调用了boost::split()方法,并将结果存放在一个vector
注意:在使用boost库时,需要在编译时链接相应的库文件。具体方法请参考相应的文档。
以上两种方法均可以用来切割字符串,根据需求选择合适的方法即可。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C++如何切割String对象的方法 - Python技术站