티스토리 뷰
여러 형태의 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 |
---|