金海佳学C++primer 练习9.47

来源:互联网 发布:云计算市场分析报告 编辑:程序博客网 时间:2024/06/08 05:32

用find_first_of筛分字符串

Practice 9.47

#include <iostream>#include <queue>#include <string>#include <vector>#include <map>#include <algorithm>#include <list>#include <iterator>#include <cmath>#include <cstring>#include <forward_list>#include <sstream>using namespace std;string dic_of_number = "1234567890";string res_of_number = "";string res_of_alp = "";int pos;void find_number(const string & s) {    while(pos<(int)s.length() && (pos = s.find_first_of(dic_of_number,pos))) {        res_of_number += s[pos];        pos ++;    }}void find_alp(const string & s) {    while(pos<(int)s.length()) {        pos = s.find_first_not_of(dic_of_number, pos);        if(pos==-1) break;        res_of_alp += s[pos];        pos ++;     }}int main() {    res_of_number = "";    res_of_alp = "";    string s = "jin4hai8jia4";    pos = 0;    cout << "original string: " << s << endl;    find_number(s);    cout << "number string: ";    cout << res_of_number << endl;    pos = 0;        find_alp(s);        cout << "alp string: ";    cout << res_of_alp << endl;    return 0;}

Output

original string: jin4hai8jia4number string: 484alp string: jinhaijia

不矫情,想约你出去