您的位置:首页 > 其它

字符串提取数字

2017-01-11 10:29 639 查看
    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);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  提取数字