21xrx.com
2024-12-23 00:08:02 Monday
登录
文章检索 我的文章 写文章
C++中如何删除字符串中的特定字符
2023-07-01 07:14:01 深夜i     --     --
C++ 删除 字符串 特定字符

在C++中删除字符串中的特定字符是一个常见的操作。有时候我们需要去掉字符串中的空格或特定字符以便于后续的处理。

方法一:

我们可以使用erase()函数来删除字符串中的特定字符。这个函数接受两个参数,第一个参数是希望删除的字符的起始位置,第二个参数是希望删除的字符的数量。因此,我们可以使用一个循环来遍历字符串中每个字符,如果遇到了需要删除的字符,就使用erase()函数来删除它。以下是一段示例代码:


#include <iostream>

#include <string>

using namespace std;

int main()

{

  string s = "hello world";

  char c = 'o';

  int i = 0;

  while(i < s.length())

  {

    if(s[i] == c)

    {

      s.erase(i, 1);

    }

    else

    {

      i++;

    }

  }

  cout << s << endl;

  return 0;

}

这个程序会输出“hell wrld”,即将字符串中所有的‘o’字符都删除了。

方法二:

我们也可以使用STL算法中的remove()函数来删除字符串中的特定字符。remove()函数可以从容器中删除特定元素,并将指向不需要删除的元素的最后一个元素的迭代器返回给我们。因此,我们可以使用这个迭代器来截取字符串中不需要删除的部分,从而实现删除特定字符的操作。以下是一段示例代码:


#include <iostream>

#include <string>

#include <algorithm>

using namespace std;

int main()

{

  string s = "hello world";

  char c = 'o';

  s.erase(remove(s.begin(), s.end(), c), s.end());

  cout << s << endl;

  return 0;

}

这个程序同样会输出“hell wrld”,即将字符串中所有的‘o’字符都删除了。

总结:

以上两种方法都可以用来删除字符串中的特定字符。erase()函数比较简单直接,但代码比较繁琐,使用容器中的remove函数需要导入algorithm头文件,但代码比较简洁,对于需要删除多个特定字符的情况,使用remove函数时会更方便一些。

  
  
下一篇: C++中的参数。

评论区

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