📜  使用Stringstream从字符串删除空格(1)

📅  最后修改于: 2023-12-03 15:22:21.037000             🧑  作者: Mango

使用Stringstream从字符串删除空格

在处理文本时,经常需要将文本中的空格删除或忽略。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很简单,它可以很容易地将字符串分解成单词,并将它们可以使用操作符重新组合成一个单一的字符串。这种方法速度快,简单,可以减少您耗费在字符串操作上的时间和代码量。