c++11 std::string 分割
时间: 2024-10-25 16:00:50 浏览: 22
C++11引入了`std::string`的`substr()`函数配合`find()`或者`getline()`方法来进行字符串分割。例如,如果你想按照某个特定字符或子串将字符串分割成多个部分,可以这样做:
```cpp
#include <iostream>
#include <string>
std::string str = "Hello,World! This is a C++ string.";
// 使用find()和substr()分割
size_t pos = str.find(",");
if (pos != std::string::npos) {
std::string first_part = str.substr(0, pos); // 获取到"Hello,"的部分
std::string second_part = str.substr(pos + 1); // 获取到"World!"的部分
std::cout << "First part: " << first_part << "\n";
std::cout << "Second part: " << second_part << "\n";
}
// 或者使用getline(),假设分隔符是空格
std::istringstream iss(str);
std::string token;
while (std::getline(iss, token, ' ')) { // 分割每一行
std::cout << "Token: " << token << "\n";
}
```
阅读全文