字符串提取数字

    OC 提供了很方便的API NSScanner


// On overflow, the below methods will return success and clamp

- (BOOL)scanInt:(nullable int *)result;

- (BOOL)scanInteger:(nullable NSInteger *)result NS_AVAILABLE(10_5, 2_0);

- (BOOL)scanLongLong:(nullable long long *)result;

- (BOOL)scanUnsignedLongLong:(nullable unsigned long long *)result NS_AVAILABLE(10_9, 7_0);

- (BOOL)scanFloat:(nullable float *)result;

- (BOOL)scanDouble:(nullable double *)result;

- (BOOL)scanHexInt:(nullable unsigned *)result;                                          // Optionally prefixed with "0x" or "0X"

- (BOOL)scanHexLongLong:(nullable unsigned long long *)result NS_AVAILABLE(10_5, 2_0);   // Optionally prefixed with "0x" or "0X"

- (BOOL)scanHexFloat:(nullable float *)result NS_AVAILABLE(10_5, 2_0);                   // Corresponding to %a or %A formatting. Requires "0x" or "0X" prefix.

- (BOOL)scanHexDouble:(nullable double *)result NS_AVAILABLE(10_5, 2_0);                 // Corresponding to %a or %A formatting. Requires "0x" or "0X" prefix.


- (BOOL)scanString:(NSString *)string intoString:(NSString * _Nullable * _Nullable)result;

- (BOOL)scanCharactersFromSet:(NSCharacterSet *)set intoString:(NSString * _Nullable * _Nullable)result;


- (BOOL)scanUpToString:(NSString *)string intoString:(NSString * _Nullable * _Nullable)result;

- (BOOL)scanUpToCharactersFromSet:(NSCharacterSet *)set intoString:(NSString * _Nullable * _Nullable)result;

第一种方法:

    NSScanner * scanner = [[NSScanner alloc]initWithString:string];

    int n;

    [scanner scanInt:&n];

    NSLog(@"--%d",n);



第二种

    NSCharacterSet * cset = [[NSCharacterSet decimalDigitCharacterSet]invertedSet];

    int num =[[string stringByTrimmingCharactersInSet:cset] intValue];

    NSLog(@"num = %d", num);


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值