C++中的字符串类stirng②

6、小作业:
将以下字符串以#号为分隔符进行分割,将分割后的各个子串的结果存储到一个 vector 中,字符串如下:
123#ab##cctry.com#

#include <iostream>
#include <string>
#include <vector>
using namespace std;
int main()
{
    string s1 = "123#ab##cctry.com#####5555##qqq###af)986#########1#55";
    vector<string> v_s;
    for (int i = 0; i < s1.size();)
    {
        int temp = s1.find("#",i);    //find找不到的返回值是string::npos
        string s2;
        if (temp == string::npos)
        {
            s2 = s1.substr(i, s1.size() - i +1);
            i = s1.size();
        }
        else
        {
            s2 = s1.substr(i, temp - i);
            i = temp+1;
        }
        if (!s2.empty())
        {
            v_s.push_back(s2);
        }
    }
    vector<string>::iterator itera;
    for (itera = v_s.begin(); itera != v_s.end(); itera++)
    {
        cout << *itera << endl;
    }
    return 0;
}

 

posted on 2021-01-16 16:55  SakuraQAQ  阅读(79)  评论(0)    收藏  举报

导航