📅  最后修改于: 2023-12-03 15:22:21.037000             🧑  作者: Mango
在处理文本时,经常需要将文本中的空格删除或忽略。Stringstream是一个很好的处理文本的工具,可以从字符串中删除空格。
Stringstream是一个C++标准库,所以不需要额外的库。它提供一个方便的方式将字符串分解成不同的数据类型。它还可以使用数据类型将字符串重新构建。对于我们的目的,我们将使用Stringstream的一个特性,即可以使用字符串流关联一个字符串,并将其分割成不同的单词。然后我们可以将单词重新组成一个没有空格的新字符串。
首先,我们需要包含Stringstream的头文件。
#include <sstream>
接下来,我们需要声明一个字符串来存放原始的字符串。在此之后,我们可以将其分解成单词:
std::string str = "This is a sample string.";
std::stringstream ss(str);
接下来,我们可以使用Stringstream的流运算符来提取单词,并将它们连接成一个没有空格的新字符串。
std::stringstream out;
std::string word;
while (ss >> word) {
out << word;
}
std::string result = out.str();
完整的代码:
#include <iostream>
#include <sstream>
int main()
{
std::string str = "This is a sample string.";
std::stringstream ss(str);
std::stringstream out;
std::string word;
while (ss >> word) {
out << word;
}
std::string result = out.str();
std::cout << "Original string: " << str << std::endl;
std::cout << "Result string: " << result << std::endl;
return 0;
}
Original string: This is a sample string.
Result string: Thisisasamplestring.
使用Stringstream很简单,它可以很容易地将字符串分解成单词,并将它们可以使用操作符重新组合成一个单一的字符串。这种方法速度快,简单,可以减少您耗费在字符串操作上的时间和代码量。