How to Split a String in C++?

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

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

推荐阅读:
6 Best WordPress Plugins for eLearning & Tutorial Websites  A Successful Marketing Chain Examined  4 Productivity Tips While You Work from Home During The Lockdown  How Does an SSL Work on Your Blog?  How to Start a Popular Blog for Real Estate Agents  Critics of Japan’s Handling of the Cruise Ship Coronavirus Quara  Tips for Starting a Car-Themed Blog  How to Build a Popular, Trustworthy Blog  6 Simple Ways to Promote Your Blog  The Secret to Writing More Compelling Blog Titles 
评论列表
添加评论