[iOS] 문자열 중에서 숫자만 얻어내기
#import <Foundation/Foundation.h>
@interface NSString(OnlyNumber)
- (NSString*)numberString;
@end
@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