如何获取NSString字符串第一个数字

昨天UAT提出需求在一个议案下有子议案的时候,子议案的标题应该是由父议案的 题号.序号 +子议案的标题 作为最终标题。

本来是想拿到字符串然后逐个判断是不是数字,如果是数字就拿出来拼接。但是父议案的题号数字不一定是一位数,有可能是2位数,甚至是3位数,那么我拿到了父议案的标题如何截取前面的一个数字呢?根据字节那样截取肯定满足不了了,如果是根据顿号来拆分字符串,可题号之后不一定是顿号、也有可能会有空格,所以也不好弄,咋办?突然想起C语言里面有一个函数能够把字符串转成整数的。。。本来OC的还要截取还要判断各种码,但是C语言的就一个函数atoi。

atoi:

跳过前面的空格,直到遇上数字或正负符号才开始做转换,而在遇到非数字或字符串结束符('\0')才结束转换,并将结果返回。如果不能转换成 int 或者为空字符串,那么将返回 0


另外写了一个demo测试该函数的:

//
//  ViewController.m
//  testAtoi
//
//  Created by 黄永锐(EX-HUANGYONGRUI001) on 2018/4/18.
//  Copyright © 2018年 黄永锐(EX-HUANGYONGRUI001). All rights reserved.
//

#import "ViewController.h"

@interface ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    //
    NSString *string1 = @"   123.678这是一个字符串还有9821看看函数能截取这3个数字中的哪个数字";
    
    int number = atoi([string1 UTF8String]);
    
    NSLog(@"这是函数atoi从字符串中获取到的一个整数:%d",number);
}


@end

终端输出:

2018-04-18 11:10:58.229566+0800 testAtoi[64227:2524932] 这是函数atoi从字符串中获取到的一个整数:123


上一个效果图

如何获取NSString字符串第一个数字_第1张图片

你可能感兴趣的:(iOS高级编程)