21xrx.com
2024-11-05 19:31:11 Tuesday
登录
文章检索 我的文章 写文章
C++如何删除字符串中的空格?
2023-07-13 16:13:11 深夜i     --     --
C++ 字符串 删除 空格

当我们在编写 C++ 代码时,经常需要对一个字符串中的空格进行删除操作。这种情况通常出现在一些文本处理、字符串匹配等场景中。那么,C++ 中如何删除字符串中的空格呢?

在 C++ 中,可以使用 `erase` 函数来删除字符串中的空格。下面我们一起来了解具体的操作步骤:

1. 首先,使用 `getline` 函数从输入流中读取字符串,赋值给字符串变量 `str`。


string str;

getline(cin, str);

2. 接着,使用 `std::remove_if` 函数删除字符串中的所有空格。该函数返回一个迭代器,表示删除后的有效元素范围。


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

在这里,我们使用了 `std::isspace` 函数来判断空格,该函数可以判断空格、制表符、换行符等空白字符。

3. 最后,打印删除后的字符串。


cout << str << endl;

完整的代码如下:


#include <iostream>

#include <string>

#include <algorithm>

using namespace std;

int main() {

  string str;

  getline(cin, str);

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

  cout << str << endl;

  return 0;

}

在使用该代码进行字符串空格删除时,需要注意以下几点:

1. 该方法并不是原地修改,而是返回一个新字符串。如果需要原地修改,可以使用 `std::copy_if` 函数进行操作。

2. 该方法会删除字符串中的所有空格,如果只想删除字符串开头或结尾的空格,可以使用 `std::trim` 函数。

总之,C++ 中删除字符串中的空格非常方便,我们只需要使用 `erase` 函数配合 `std::remove_if` 函数即可轻松实现。希望本文能为大家提供一些参考。

  
  

评论区

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