在某些情况下需要对输入的字符串进行处理,提取其中的需要的信息.
比如在linux中输入”mkdir test”,新建test文件夹,就需要提取其中的test字符.
提取的方法需要boost库中的函数,提取代码如下:
#include <string>
#include <iostream>
#include <vector>
#include <boost/algorithm/string.hpp>
using namespace std;
int main(){
vector<string> itemlist;
vector<string> contentlist;
string strinfo="name#wangkaixuan$id#111$password#222";
boost::split(itemlist, strinfo, boost::is_any_of("$"));
for (int i = 0; i < itemlist.size(); ++i)
{
cout<<"strlist_"<<i<<"="<<itemlist[i]<<endl;
temp= itemlist[i];
boost::split(contentlist, temp, boost::is_any_of("#"));
cout<<"contentlist_0"<<"="<<contentlist[0]<<endl;
cout<<"contentlist_1"<<"="<<contentlist[1]<<endl;
}
return 0;
}
运行结果:iuc@iuc-linux ~/Project/CodeLibrares $ g++ string_find.cpp -o string_find
iuc@iuc-linux ~/Project/CodeLibrares $ ./string_find
strlist_0=name#wangkaixuan
contentlist_0=name
contentlist_1=wangkaixuan
strlist_1=id#111
contentlist_0=id
contentlist_1=111
strlist_2=password#222
contentlist_0=password
contentlist_1=222
iuc@iuc-linux ~/Project/CodeLibrares $