How to Split a String in C++?
- 时间:2020-09-09 13:16:32
- 分类:网络文摘
- 阅读:137 次
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) —
推荐阅读:萝卜的3种吃法可以防治冬季常见病 食品之辟谣系列:喝豆浆易患乳腺癌 食品之辟谣系列:忽悠美容丰胸减肥的食物 冬季预防食物中毒及中毒后急救措施 四种常见的食物可以排出身体毒素 男人多吃一些香蕉对身体大有好处 冬至时节常吃6种传统食物可补阳防寒 南方黑芝麻糊大肠菌群超标 5批次产品不合格 烹饪技巧之烹调鸡蛋过程中的常见错误 全新认识冬季当家菜大白菜的营养价值
- 评论列表
-
- 添加评论