21xrx.com
2024-12-23 01:38:10 Monday
登录
文章检索 我的文章 写文章
C++删除字符串中的数字字符
2023-06-27 00:57:49 深夜i     --     --
C++ 删除 字符串 数字字符

在 C++ 中,我们可以使用字符串类中的 erase() 函数来删除字符串中的数字字符。erase() 函数可以接受两个参数,第一个参数是要删除的起始位置,第二个参数是要删除的字符数。我们可以使用循环遍历字符串,判断每个字符是否是数字,如果是数字,就使用 erase() 函数删除该字符。以下是实现该功能的示例代码:


#include <iostream>

#include <string>

using namespace std;

int main() {

  string str = "hello123world";

  int i = 0;

  while (i < str.length()) {

    if (isdigit(str[i])) {

      str.erase(i, 1);

    } else {

      i++;

    }

  }

  cout << str << endl;

  return 0;

}

在上面的代码中,我们使用 while 循环遍历字符串 str,如果当前字符是数字,就使用 erase() 函数删除该字符,否则将索引 i 加 1。最后输出删除数字字符后的字符串。运行以上代码,输出结果为:


helloworld

可以看到,所有的数字字符都被成功删除了。

除了使用 erase() 函数外,我们还可以用另一种方法删除字符串中的数字字符:将数字字符替换为空字符串。下面是示例代码:


#include <iostream>

#include <string>

using namespace std;

int main() {

  string str = "hello123world";

  for (char& c : str) {

    if (isdigit(c))

      c = ' ';

    

  }

  cout << str << endl;

  return 0;

}

在上面的代码中,我们使用 for 循环遍历字符串 str 中的每个字符,如果当前字符是数字,就将其替换为空字符串。最后输出处理后的字符串。运行以上代码,输出结果为:


hello world

可以看到,所有的数字字符都被替换为空格了。需要注意的是,这种方法在删除数字字符后会留下一些空格,需要在输出结果时去掉。

  
  

评论区

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