21xrx.com
2024-11-08 20:24:05 Friday
登录
文章检索 我的文章 写文章
C++如何从字符串中提取正整数
2023-07-11 04:58:31 深夜i     --     --
C++ 字符串 正整数 提取

C++是一种流行的编程语言,可用于开发各种应用程序。如果你需要从字符串中提取正整数,那么C++也提供了一些简单直观的方法。在这篇文章中,我们将讨论其中一种方法。

首先,假设你已经有了一个字符串,其中包含了一些正整数和其他字符。我们要做的是从字符串中提取这些正整数,然后将它们存储在一个数组或向量中,以便后续使用。

下面是一个简单的函数,可以完成这个任务:


#include<iostream>

#include<string>

#include<vector>

using namespace std;

vector<int> extractNumbers(string str) {

  vector<int> nums;

  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) {

      nums.push_back(num);

      num = 0;

    }

  }

  if (num != 0) {

    nums.push_back(num);

  }

  return nums;

}

int main() {

  string str = "abc123def456ghi789";

  vector<int> nums = extractNumbers(str);

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

    cout << nums[i] << " ";

  }

  return 0;

}

在这个函数中,我们首先创建了一个指向整数的向量nums,同时设置一个名为num的整数变量。然后,我们使用一个循环遍历字符串中的每个字符。如果字符是一个数字,那么我们将把它追加到num变量中。如果字符不是数字,同时num变量不为0,那么我们就将num变量的值添加到nums向量中,并将num变量重置为0。最后,我们还需要再检查一下num变量的值,以确保我们不会遗漏最后一个整数。

使用上述函数的最终步骤是,我们将字符串作为参数传递给extractNumbers函数并运行它。该函数将返回一个vector ,其中包含了从字符串中提取的正整数。我们可以遍历这个vector并输出其中的每个整数,如下所示:


123 456 789

虽然这个方法看起来比较简单,但实际上却很有效。在实际的应用程序中,它可以帮助你快速地从字符串中提取出正整数,以便进行各种计算或分析。

  
  

评论区

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