How to Split a String in C++?

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

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) —

推荐阅读:
Have Writer’s Block? Try These Content Ideation Tools for Market  Quick Ways to Relax Once You’ve Hit Publish  How to Prepare Your SEO Strategy for the Internet of Things  Keep Yourself Safe: Social Media Strategies  7 Ways to Use Video on Your Blog to Get More Engagement  Should You Build Your Blog on a CMS or a Website Builder?  5 Top Tips on How to Be a Top Game Blogger  Blog Stalkers: Staying Safe Online  How Social Media Paid Ads Can Boost Blog Post Promotion  Are You Focused Enough To Freelance? 4 Tips For Bloggers 
评论列表
添加评论