21xrx.com
2024-09-19 09:00:58 Thursday
登录
文章检索 我的文章 写文章
C++:如何从字符串中删除数字?
2023-07-13 22:55:50 深夜i     --     --
C++ 字符串 删除 数字

在C++中,如果我们需要从字符串中删除数字,我们可以采用实用的方法,如下所示:

1.利用标准库函数

如果我们要从一个字符串中删除数字,我们可以使用C ++标准库函数中的remove_if函数,该函数将删除满足某种谓词条件的元素。

使用这种方法,我们需要使用函数remove_if将删除数字的谓词函数作为参数,该函数将从字符串中删除数字。

示例代码:


#include<iostream>

#include<algorithm>

#include<string>

using namespace std;

bool isDigit(char c)

{

  return isdigit(c);

}

int main()

{

  string str = "abc1def2g45h78i9";

  str.erase(remove_if(str.begin(), str.end(), isDigit), str.end());

  cout << str << endl;

  return 0;

}

输出结果:abcdefghi

2.手动删除数字

如果我们不想使用函数remove_if,我们可以使用string中的erase函数和isdigit函数来手动删除数字。

示例代码:


#include<iostream>

#include<string>

using namespace std;

int main()

{

  string str = "abc1def2g45h78i9";

  for (int i = 0; i < str.size(); ++i)

  {

    if (isdigit(str[i]))

    {

      str.erase(i, 1);

      --i;

    }

  }

  cout << str << endl;

  return 0;

}

输出结果:abcdefghi

总结

在C++中,删除字符串中的数字是一项很常见的任务。我们可以使用标准库函数或手动操作来完成这项任务。使用函数remove_if可以更快捷地完成任务,而手动删除数字则需要更多的代码。

  
  

评论区

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