iOS

[iOS] 문자열 중에서 숫자만 얻어내기

Naku 2011. 7. 5. 08:26
<해더>

#import <Foundation/Foundation.h>



@interface NSString(OnlyNumber) 


- (NSString*)numberString;


@end


<구현부> 

 
#import "NSStringOnlyNumber.h"



@implementation NSString(OnlyNumber)


- (NSString*)numberString

{

//NSString *originalString = @"(123) 123123 abc";

NSMutableString *strippedString = [NSMutableString stringWithCapacity:self.length];

NSScanner *scanner = [NSScanner scannerWithString:self];

NSCharacterSet *numbers = [NSCharacterSet characterSetWithCharactersInString:@"0123456789"];

while ([scanner isAtEnd] == NO) {

NSString *buffer;

if ([scanner scanCharactersFromSet:numbers intoString:&buffer]) {

[strippedString appendString:buffer];

} else {

[scanner setScanLocation:([scanner scanLocation] + 1)];

}

}

//NSLog(@"%@", strippedString); // "123123123"

return [NSString stringWithString:strippedString];

}


@end