21xrx.com
2024-09-19 09:48:13 Thursday
登录
文章检索 我的文章 写文章
C++中如何去除字符串中的空格
2023-07-09 05:55:41 深夜i     --     --
C++ 字符串 空格 去除 函数

C++是一门广泛使用的编程语言,它支持字符串操作,其中字符串中的空格是一个常见的问题。在实际工作中,我们常常需要去除字符串中的空格,以便于处理和使用。那么,C++中如何去除字符串中的空格呢?

一种常见的方法是使用stringstream库。该库可以将字符串分解成单个单词,并且可以忽略字符串中的空格。我们可以通过输入字符串,然后使用这个库的方法去除空格,最后将结果输出成字符串。

具体实现如下:


#include <iostream>

#include <sstream>

#include <string>

using namespace std;

string removeSpaces(string str)

{

  stringstream ss;

  string word;

  ss << str;

  str = "";

  while (ss >> word) {

    str += word;

  }

  return str;

}

int main()

{

  string str = "hello world!";

  str = removeSpaces(str);

  cout << str;

  return 0;

}

在这个示例中,我们定义了一个函数removeSpaces,它将输入的字符串str作为参数。我们使用stringstream ss来将字符串分解成单个单词,并使用while循环去掉所有空格,最后返回结果字符串。

另一种方法是使用STL库中的remove_if函数。它可以在不影响字符串的情况下去除空格。我们可以使用该函数来移除字符串中的空格,并得到一个新的字符串。

具体实现如下:


#include <iostream>

#include <string>

#include <algorithm>

using namespace std;

string removeSpaces(string str)

{

  str.erase(remove_if(str.begin(), str.end(), ::isspace), str.end());

  return str;

}

int main()

{

  string str = "hello world!";

  str = removeSpaces(str);

  cout << str;

  return 0;

}

在这个示例中,我们定义了一个函数removeSpaces,它将输入的字符串str作为参数。我们使用STL库中的remove_if函数来找到字符串中的空格,并使用erase函数删除它们。最终,我们将得到一个没有空格的新字符串。

总的来说,C++中去除字符串中的空格并不难。以上两种方法都可以帮助我们在字符串处理中去除空格,降低程序的复杂度和加速运行速度。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复