split
#include <boost/algorithm/string.hpp>
#include <iostream>
#include <string>
#include <vector>
using namespace boost::algorithm;
using namespace std;
int main(){
string str("miss,you.just.call_to,say,I~love~you");
vector<string> strVec;
split(strVec, str, is_any_of(",."));
vector<string>::iterator it = strVec.begin();
for (; it!=strVec.end(); it++){
cout << *it << endl;
}
return 0;
}
trim 去掉两端空格或者相应字符
#include <boost/algorithm/string.hpp>
using namespace boost::algorithm;
trim(str);
trim_if(str, is_any_of("1234567890"));
trim_left_if(strOrigin, is_any_of("1234567890"));
trim_right_if(strOrigin, is_any_of("1234567890"));
string str2 = trim_copy_if(strOrigin, is_any_of("1234567890"));
string str3 = trim_left_copy_if(strOrigin, is_any_of("1234567890"));
string str4 = trim_right_copy_if(strOrigin, is_any_of("1234567890"));
strip 与split
之前用strip与split去除字符串时一般都是混用的,用strip居多,今天遇到一个后缀为‘\r\n’的字符串,先strip('\n'),再strip('\r')发现无法正确去除'\r'后缀,只能用split('\r')[0] 来去除'\r'