1
A
回答
2
您可以使用string::find
反复:
size_t pos = 0;
while (true) {
size_t strt = mystring.find('<', pos);
pos = mystring.find('>', strt+1);
if (strt == string::npos || pos == string::npos) break;
cout << mystring.substr(strt+1, pos-strt-1) << endl;
}
+0
有没有理由'pos'不是循环的本地,而是'strt'? – 2012-01-01 16:42:43
+0
@SethCarnegie你需要为循环的下一次迭代保留'pos'。 – dasblinkenlight 2012-01-01 16:43:47
+0
哦哎呀,错过了 – 2012-01-01 16:47:17
0
使用迭代器:
string str = "some<foo>some<bar>some";
string::iterator i = str.begin(), token = i;
while (i != str.end()) {
if(*i == '<') {
token = i+1;
}
else if (*i == '>') {
string item(token, i);
cout << item << endl;
}
i++;
}
相关问题
- 1. 如何分割这个带有范围的数字串?
- 2. 如何分割一个字符串TWICE
- 3. 分割一个字符串
- 4. 在python中围绕字符分割一个字符串
- 5. 将字符串分割一个字符
- 6. 如何分割一定范围
- 7. 如何分割字符串
- 8. 如何分割字符串
- 9. 如何分割字符串?
- 10. 如何分割一次字符串?
- 11. 如何分割这个字符串?
- 12. 索引超出范围时分割字符串
- 13. 分割一行字符串
- 14. 分割一个字符串转换成不同的字符串
- 15. 字符串分割到一个字符串数组的元素
- 16. 用strtok分割一个C字符串
- 17. APL/APLX - 分割一个字符串
- 18. 在Java中分割一个字符串,
- 19. 在SparkSQL中分割一个字符串
- 20. 分割字符串用一个空格
- 21. 在PowerShell中分割一个字符串
- 22. 在groovy中分割一个字符串
- 23. 从fputs分割一个字符串
- 24. 如何使用字符串分隔符分割字符串?
- 25. 每N个字符/数字分割一个字符串/数字?
- 26. 如何将一个字符串通过分隔符分割成一个数组?
- 27. 分割字符串,每5个字符
- 28. 如何在第一个数字上分割字符串
- 29. 如何获得一个字符串的范围地址
- 30. 在一定数量的字符后分割一个字符串
这个不清楚。你想要发生什么?'some'? – 2012-01-01 16:38:08