21xrx.com
2024-12-22 19:40:48 Sunday
登录
文章检索 我的文章 写文章
C++中提取字符串中的数字
2023-07-09 08:54:14 深夜i     --     --
C++ 字符串 提取 数字

C++是一种强大而广泛使用的编程语言,它具有很多功能和特性,其中之一是可以提取字符串中的数字。在C++中,字符串是一系列字符,可以包含数字、字母、符号等各种元素。因此,在处理字符串时,我们经常需要从中提取数字以进行进一步的计算和处理。

在C++中,提取字符串中的数字可以通过以下几种方式实现:

1.使用字符串流

字符串流可以将字符串转换为数字,具体实现方法是将字符串流与一个整数型变量绑定,然后通过流提取运算符>>将字符串转换为整数。示例代码如下:


#include <iostream>

#include <string>

#include <sstream>

using namespace std;

void extractNumber(string str) {

  stringstream ss;

  ss << str;

  int num;

  while (!(ss >> num).fail())

    cout << num << endl;

  

}

int main() {

  string str = "12 34 test 5";

  extractNumber(str);

  return 0;

}

在这个示例中,我们首先将字符串流与字符串绑定并创建一个整数型变量num,然后通过读取流提取所有的整数并输出到控制台中。

2.使用循环

使用循环遍历字符串的每个字符,并将数字字符转换为数字存储到新的变量中。示例代码如下:


#include <iostream>

#include <string>

using namespace std;

void extractNumber(string str) {

  int num = 0;

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

    if (isdigit(str[i])) {

      num = num * 10 + (str[i] - '0');

    }

    else {

      if (num != 0)

        cout << num << endl;

        num = 0;

      

    }

  }

  if (num != 0)

    cout << num << endl;

  

}

int main() {

  string str = "12 34 test 5";

  extractNumber(str);

  return 0;

}

在这个示例中,我们首先定义一个新的整数型变量num,然后使用循环遍历字符串中的每个字符。当遇到数字字符时,我们将其转换为数字并存储到num变量中,以便最终输出。非数字字符会导致num变量归零,并将其中的数字输出。

总之,提取字符串中的数字在C++中是一种非常常见和重要的操作。有很多方法可以实现,例如使用字符串流或循环遍历等方法。开发人员可以根据自己的需要选择最适合的方法,并将其整合到自己的代码中。

  
  

评论区

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