[C++] 提取字符串中的所有数字并组成一个数

简介: [C++] 提取字符串中的所有数字并组成一个数

思路:利用ASCII中“0-9”,小写字母、大写字母的顺序,实现。

代码:`

#include "iostream"
#include < string>
using namespace std;
int main()
{
     string s ;
     cin>>s;
     int len =s.length();  //.length   表示字符串的长度
     int a,b,//用来循环扫描字符串
       bit,//在一个字符串中,对一个外形是数字的字符,把这样的字符转化成数字,存与bit中
       num;//最终存放提取出的数字
     int flag=0;//判断字符串中是否有数字
     cout<<"字符串中的数字有:"<<endl;
     for(a=0;a<len;a++)
     {
      if(s[a]>='0'&&s[a]<='9')//过滤掉外形是非数字的字符
    {
      flag++;
      b=a;
      num=0;//num每次循环的初值置为0
      while(b<len&&s[b]>='0'&&s[b]<='9')
      {
             bit=s[b]-'0';
       num=num*10+bit;
       b++;
      }
      cout<<num<<endl;
      a=b;
    }
     }
    if(flag==0)
  cout<<"字符串中无数字"<<endl;
  system("pause");
}`

结果:

目录
相关文章
|
2月前
|
存储 算法 编译器
【C++ 字符数组的模板特化】面向字符串的C++模板特化:理解与实践
【C++ 字符数组的模板特化】面向字符串的C++模板特化:理解与实践
54 1
|
2月前
|
对象存储 C++
在C++语言中字符串流
在C++语言中字符串流
18 2
|
2月前
|
并行计算 Go C++
2182.构造限制重复的字符串(模拟 贪心 优先队列 C++ Go)
【2月更文挑战第19天】2182.构造限制重复的字符串(模拟 贪心 优先队列 C++ Go)
23 1
|
2月前
|
Go C++
【力扣】2696. 删除子串后的字符串最小长度(模拟 栈 C++ Go实现栈)
【2月更文挑战第18天】2696. 删除子串后的字符串最小长度(模拟 栈 C++ Go实现栈)
34 6
|
2月前
|
存储 C++ 索引
C++ 字符串完全指南:学习基础知识到掌握高级应用技巧
C++的字符串使用`string`类处理,如`string greeting = &quot;Hello&quot;`。字符串连接可通过`+`或`append()`函数实现。访问字符使用索引,如`myString[0]`。`length()`或`size()`可获取长度。`getline()`用于读取整行输入。注意转义字符如`\\&quot;`用于在字符串中嵌入双引号。使用`cin`读取字符串时,空格会终止输入,而`getline()`能读取整行。
25 0
|
15天前
|
存储 编译器 C语言
C++字符串大小写之for语句
C++字符串大小写之for语句
17 0
|
16天前
|
C++
【代码片段】【C++】获取当前时间戳并生成固定格式字符串
【代码片段】【C++】获取当前时间戳并生成固定格式字符串
14 0
|
存储 编译器 Linux
标准库中的string类(中)+仅仅反转字母+字符串中的第一个唯一字符+字符串相加——“C++”“Leetcode每日一题”
标准库中的string类(中)+仅仅反转字母+字符串中的第一个唯一字符+字符串相加——“C++”“Leetcode每日一题”
|
23天前
|
安全 C++
石头剪子布(字符串解法 C++)
石头剪子布(字符串解法 C++)
19 0
|
1月前
|
C++
C++语言学习数组和字符串应用案例
【4月更文挑战第8天】该文展示了C++中数组和字符串的应用案例。数组示例定义了一个整数数组并访问、修改其元素,计算了元素之和。字符串示例中,定义了一个字符串并遍历、修改字符,进行了字符串拼接、查找子字符串及替换操作。
11 3