C++字符串分割

来源:互联网 发布:谢馥春198鸭蛋粉 知乎 编辑:程序博客网 时间:2024/06/05 16:34

         C++中的字符分割是一个常见的应用,下面是一个字符串分割的代码:

//================ 字符串分割 ============vector<string> split_string(const string& str, const string& delimiters){vector<string> res;string split_str = str;size_t pos_delim = split_str.find(delimiters);while ( pos_delim != string::npos){if (pos_delim == 0){res.push_back("");split_str.erase(0, 1);}else{res.push_back(split_str.substr(0, pos_delim));split_str.erase(0, pos_delim + 1);}pos_delim = split_str.find(delimiters);}res.push_back(split_str);return res;}// 删除字符串前后空格string del_space(string name){while ((name.find_first_of(' ') == 0)  && (name.length() > 0))name.erase(0, 1);while ((name.find_last_of(' ') == (name.length() - 1)) && (name.length() > 0))name.erase(name.end() - 1, name.end());return name;}// 测试int _tmain(int argc, _TCHAR* argv[]){string split_str="   Hello World, 中国, 一跃, 成为, 世界, 第二大, 经济体, 对世界经济将产生深远影响!   ";cout<<split_str<<endl<<endl;split_str = del_space(split_str);  // 删除空格cout<<split_str<<endl<<endl;vector<string> res;res = split_string(split_str, ",");for ( size_t i = 0; i<res.size(); i++){cout<<res[i]<<endl;}getchar();return 0;}


0 0
原创粉丝点击