21xrx.com
2025-04-03 16:05:31 Thursday
文章检索 我的文章 写文章
C++实现字符串中数字的提取方法
2023-07-05 09:09:13 深夜i     97     0
C++ 字符串 数字 提取 实现

在C++中,字符串是一种非常常见的数据类型。字符串中可能会包含数字,当需要对字符串中的数字进行操作时,需要先将其中的数字提取出来。下面是C++实现字符串中数字提取的方法。

1.使用isdigit()函数提取数字

isdigit()函数是一个C++内置函数,其用法如下:

int isdigit (int c);

该函数主要用来判断字符c是否是数字。我们可以利用这个函数遍历字符串中每个字符,若某个字符是数字,则可以将其提取出来。

代码样例:

#include <iostream>
#include <string>
using namespace std;
int main()
{
  string s = "abc123def456";
  string num = "";
  for (int i = 0; i < s.length(); i++)
  {
    if (isdigit(s[i]))
    {
      num += s[i];
    }
  }
  cout << num << endl;
  return 0;
}

2.使用字符串流进行提取

C++中的stringstream类可以将字符串转化为类似于输入输出流的对象,使得可以对其中的数据进行操作。字符串流可以识别字符串中的数字并提取出来。

代码样例:

#include <iostream>
#include <sstream>
#include <string>
using namespace std;
int main()
{
  string s = "abc123def456";
  stringstream ss(s);
  string num = "";
  char c;
  while (ss.get(c))
  {
    if (isdigit(c))
    {
      num += c;
    }
  }
  cout << num << endl;
  return 0;
}

以上就是C++实现字符串中数字提取的两种方法。对于不同的情况,选择不同的方法,可以提高代码的执行效率。

  
  

评论区