只需提取出两个字符串
时间: 2024-11-22 13:45:30 浏览: 3
如果你只需要提取出两个连续的、没有空格的子串,那么可以直接遍历两次,分别在第一次找到第一个非空格字符后停止,第二次从上次的位置开始直到遇到下一个空格为止。这里是一个简化版的例子:
```cpp
#include <sstream>
#include <string>
std::string str_with_spaces = "这是 第一个 子串 和 第二个 子串之间 有 空 格";
size_t first_index = str_with_spaces.find_first_not_of(" "); // 查找第一个非空格字符的位置
std::string first_substring = str_with_spaces.substr(0, first_index); // 提取第一个子串
size_t second_start = first_index + 1; // 计算第二个子串起始位置
size_t second_end = str_with_spaces.find_first_of(" ", second_start); // 寻找第二个子串结束的第一个空格
std::string second_substring = str_with_spaces.substr(second_start, second_end - second_start); // 提取第二个子串
std::cout << "First substring: " << first_substring << "\n";
std::cout << "Second substring: " << second_substring << "\n";
阅读全文