实现提取字符串中数字并转换为正数

编写函数,实现提取字符串中数字,并转换为正数返回。字符串从主函数读取,通过字符数组作为参数,调用函数,然后在主函数中,输出提取的整数

基本思路 与ascii码进行判断后输出
48~58

影像中好像可以通过正则表达式取出数字


#include<bits/stdc++.h>

using namespace std; 

int aa(string s)
{
    int ans=0,siz=s.size();//ans存统计的数字 
    
    for(int i=0;i<siz;i++)
    {
        if(s[i]>='0'&&s[i]<='9')//当前这个字符是数字 
        {
            ans*=10;//空出个位 
            
            ans+=s[i]-'0';//将当前这一个数字存入个位 
        }
    }
    
    return ans;//返回 
}
 
string s; 
 
int main()
{

    cin>>s;
    
    cout<<aa(s);
    
    return 0;
}

供参考:

#include <stdio.h>
#include <ctype.h>
int char2num(char* s)
{
    int num = 0, i;
    for (i = 0; s[i]; i++)
        if (isdigit(s[i]))
            num = num * 10 + s[i] - '0';
    return  num;
}
int main()
{
    int  num = 0;
    char str[64] = { 0 };
    scanf("%s", str);
    num = char2num(str);
    printf("%d", num);
    return 0;
}