본문 바로가기

프로그래밍/iOS

[ios] NSString에서 숫자만 추출하기

NSString* groupName = @"default1"; //숫자가 포함된 문자열

    NSMutableString* strippedString = [NSMutableString stringWithCapacity:groupName.length]; //숫자가 들어갈 문자열, 크기는 숫자가 포함된 문자열 만큼 잡음

    NSScanner* scanner = [NSScanner scannerWithString:groupName]; //숫자가 포함된 문자열을 검색할 스캐너

    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)]; //아니면 다음 문자를 검색(스캐너 위치를 하나 증가)

        }

 

    }

 

결과물로 strippedString엔 1만 들어간다.

 

하지만 이건 문자열로 1이지  숫자 1이 아니므로

 

int n = [strippedString intValue];

 

위와 같이 int형으로 바꿔주면 된다.

 

 

'프로그래밍 > iOS' 카테고리의 다른 글

[ios] Orientation  (0) 2015.04.08
[ios] AVCaptureSession에서 flash, focus 다루기  (0) 2015.04.08
[ios] 아이폰 연락처 동기화  (0) 2015.04.08
[ios] alert show에서 죽을때  (0) 2015.04.08
[ios] UIButton 글자 바꾸기  (0) 2015.04.08