C++ 提取字符串中的数字
1 #include <iostream>
2 using namespace std;
3 int main()
4 {
5 char a[50] = "1ab2cd3ef45g";
6 char b[50];
7 int cnt_index = 0, cnt_int = 0;
8 //cnt_int 用于存放字符串中的数字.
9 //cnt_index 作为字符串b的下标.
10
11 for (int i = 0; a[i] != '\0'; ++i) //当a数组元素不为结束符时.遍历字符串a.
12 {
13 if (a[i] >= '0'&& a[i] <= '9') //如果是数字.
14 {
15 cnt_int *= 10;//先乘以10保证先检测到的数字存在高位,后检测的存在低位
16 cnt_int += a[i] - '0'; //数字字符的ascii-字符'0'的ascii码就等于该数字.
17 }
18
19 else if ((a[i] >= 'a'&&a[i] <= 'z') || (a[i] >= 'A'&&a[i] <= 'Z')) //如果是字母.
20 {
21 b[cnt_index++] = a[i]; //如果是字符,则增加到b数组中.
22 }
23 }
24
25 b[cnt_index++] = '\0'; //增加字符串结束符.
26
27 cout << b << endl; //输出字符串. (abcdefg)
28 cout << cnt_int << endl; //输出数字.(12345)
29 return 0;
30 }
原文链接: https://www.cnblogs.com/codingmengmeng/p/5541788.html
欢迎关注
微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍
原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/234234
非原创文章文中已经注明原地址,如有侵权,联系删除
关注公众号【高性能架构探索】,第一时间获取最新文章
转载文章受原作者版权保护。转载请注明原作者出处!