How to Split a String in C++?

  • 时间:2020-09-09 13:16:32
  • 分类:网络文摘
  • 阅读:142 次

In C++, there is no inbuilt split method for string. It is very useful to split a string into a vector of string. We can use the following string split method to split a string into a vector or string using the stringstream class.

1
2
3
4
5
6
7
8
9
vector<string> split(const string& text) {
    string tmp;
    vector<string> stk;
    stringstream ss(text);
    while(getline(ss,tmp,' ')) {
        stk.push_back(tmp);
    }
    return stk;
}
vector<string> split(const string& text) {
    string tmp;
    vector<string> stk;
    stringstream ss(text);
    while(getline(ss,tmp,' ')) {
        stk.push_back(tmp);
    }
    return stk;
}

Example usage:

1
2
3
4
5
6
7
8
int main() {
  string str = "This is me";
  vector<string> words = split(str);
  // words = ["This", "is", "me"];
  for (const auto &n: words) {
     cout << n << endl;
  }
}
int main() {
  string str = "This is me";
  vector<string> words = split(str);
  // words = ["This", "is", "me"];
  for (const auto &n: words) {
     cout << n << endl;
  }
}

And of course, you can easily add the support for custom delimiter such as split a string by comma or colon (IP addresses):

1
2
3
4
5
6
7
8
9
vector<string> split(const string& text, char delimiter) {
    string tmp;
    vector<string> stk;
    stringstream ss(text);
    while(getline(ss,tmp, delimiter)) {
        stk.push_back(tmp);
    }
    return stk;
}
vector<string> split(const string& text, char delimiter) {
    string tmp;
    vector<string> stk;
    stringstream ss(text);
    while(getline(ss,tmp, delimiter)) {
        stk.push_back(tmp);
    }
    return stk;
}

Let’s hope that a string split function will be added to the string class in future C++ releases!

–EOF (The Ultimate Computing & Technology Blog) —

推荐阅读:
How and Why You Should Use Infographics On Your Blog  How to Make Your “Contact Us” Page Kick Ass  The A to Z of Content Marketing: Habits Every Content Marketer S  Keeping the Flame Going: How to Rock a Steady Job and Still Have  How to Use Social Media and User-Generated Content to Boost Traf  7 Types of Blog Posts and When to Use Them  How to Maximize Profit From Your Blog Visitors  Win a Premium WordPress Theme For Your Blog  Easy Tips for Bloggers to Make Insta-Dough on Instagram  “Celebrating” World Backup Day 2016 
评论列表
添加评论