21xrx.com
2024-12-23 00:43:34 Monday
登录
文章检索 我的文章 写文章
C++实现字符串中数字的提取方法
2023-07-05 09:09:13 深夜i     --     --
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++实现字符串中数字提取的两种方法。对于不同的情况,选择不同的方法,可以提高代码的执行效率。

  
  

评论区

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