[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
|
13天前
|
编解码 JavaScript 前端开发
【专栏】介绍了字符串Base64编解码的基本原理和在Java、Python、C++、JavaScript及Go等编程语言中的实现示例
【4月更文挑战第29天】本文介绍了字符串Base64编解码的基本原理和在Java、Python、C++、JavaScript及Go等编程语言中的实现示例。Base64编码将24位二进制数据转换为32位可打印字符,用“=”作填充。文中展示了各语言的编码解码代码,帮助开发者理解并应用于实际项目。
|
17天前
|
存储 编译器 C语言
C++字符串大小写之for语句
C++字符串大小写之for语句
17 0
|
18天前
|
C++
【代码片段】【C++】获取当前时间戳并生成固定格式字符串
【代码片段】【C++】获取当前时间戳并生成固定格式字符串
15 0
|
存储 编译器 Linux
标准库中的string类(中)+仅仅反转字母+字符串中的第一个唯一字符+字符串相加——“C++”“Leetcode每日一题”
标准库中的string类(中)+仅仅反转字母+字符串中的第一个唯一字符+字符串相加——“C++”“Leetcode每日一题”
|
25天前
|
安全 C++
石头剪子布(字符串解法 C++)
石头剪子布(字符串解法 C++)
19 0