How to Split a String in C++?

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

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

推荐阅读:
Back to the Basics: How to Get More Twitter Followers  Trump Steals Spotlight During Democratic Debate  Dorsey’s 8% Twitter Layoff  Finding Out Which Content Is Unacceptable For Your Website  The Custom Sort String Algorithm with Count and Write  Algorithms to Count the Number of Palindromic Substrings  Depth First Search Algorithm to Find Leaves of a Binary Tree  Understanding The Math Before Investing In Stocks  Don’t Owe A Thing: Tips for Bloggers Filing Taxes  The Quirky Quad Targets Millennials 
评论列表
添加评论