21xrx.com
2024-12-23 02:40:37 Monday
登录
文章检索 我的文章 写文章
如何在C++字符串str中删除单个字符?
2023-06-27 06:09:33 深夜i     --     --
C++ 字符串 删除 单个字符

在C++字符串的操作中,删除单个字符可以用erase方法进行实现。erase方法可以在指定位置开始删除指定数量的字符。因此,我们可以先找到需要删除的字符所在的位置,然后在这个位置上使用erase方法来删除该字符。

以下是一个示例程序,在字符串中删除第一个出现的指定字符:

#include

#include

using namespace std;

int main()

{

  string str = "hello world";

  char c = 'o';

  int pos = str.find(c); //查找指定字符的位置

  if (pos != string::npos) //判断是否找到

  {

    str.erase(pos, 1); //从该位置开始删除一个字符

  }

  cout << str << endl;

  return 0;

}

执行结果:

hell world

从输出结果可以看出,原字符串中的一个字符“o”已经被成功删除了。

需要注意的是,如果要删除多个字符,则需要在指定位置上连续删除多个字符,可以使用erase方法的第二个参数指定需要删除的字符数量。例如,如果要删除所有的指定字符,可以使用如下代码:

while ((pos = str.find(c)) != string::npos)

{

  str.erase(pos, 1);

}

在这个循环中,可以找到所有指定字符的位置,并一次性删除它们。

  
  

评论区

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