티스토리 뷰

 

 

여러 형태의 NSString값이 있다. 

 

@"<1,000XXX>"

@"<2,500YYYYY>"

@"이런것들은 5,000원이에요."

 

여기서 나는 저 숫자들만 빼서 사용을 하고 싶은데, 어떻게 빼야할까? 

 

우선 간단하게 함수형식으로 만들어 보았다.

- (float)stringToNumber:(NSString *)count {

    NSString *converStr = [[count componentsSeparatedByCharactersInSet:[[NSCharacterSet characterSetWithCharactersInString:@"0123456789"] invertedSet]] componentsJoinedByString:@""];

    float addCount = [converStr floatValue];

    return addCount;
}

 

아주 기초적인 함수이다. 

 

해당 함수는 NSString 값을 받아서 숫자만 빼내어 float 로 변환하게 만들었다. 

 

결과적으로 내가 float 값이 필요했다. 

 


[count componentsSeparatedByCharactersInSet:[[NSCharacterSet characterSetWithCharactersInString:@"0123456789"] invertedSet]]

componentsSeparatedByCharactersInSet: 

구글번역기 왈:

주어진 집합의 문자로 나누어진 수신기의 부분 문자열을 포함하는 배열을 반환합니다. 

라고 한다.

 

보면 해당 count 문자열에 인자로 @"0123456789" 

NSCharacterSet characterSetWithCharactersInString 를 셋팅한다.

characterSetWithCharactersInString:

주어진 문자열의 문자를 포함하는 문자 집합을 반환합니다.

 

 

보면 해당하는 문자열의 문자를 포함하는 문자 집합을 반환한다니, 0123456789 가 있는걸 끄집어 내서 반환 하겠지,

 

반환 받은 집합을 componentsSeparatedByCharactersInSet 로 배열로 반환 된 값을, 

 

componentsJoinedByString:

배열의 요소 사이에 지정된 구분 기호를 삽입한 결과인 NSString개체를 생성하고 반환합니다.

 

위의 Instance Method 로 지정된 @"" 로 사이사이 메꿔 주니 추출한 숫자로 된 NSString이 리턴이 된다.

 

 

리턴된 NSString을 입맛에 맞게 캐스팅 하여 사용하면 된다.

 

 

 

'iOS > objective c' 카테고리의 다른 글

NSString 공백제거  (0) 2022.05.04
공지사항
Total
Today
Yesterday