2012-03-19 2 views
-1

의 난이 형식의 문자열 있다고 가정 해 봅시다 :NSString에서 쉼표 대신 점을 사용하는 방법은 있지만 숫자 만 사용할 수 있습니까?

"물 1,3 리터, 뭔가의 2,5 파운드, 뭔가의 1,4 파운드"

내가 배열을 얻을 싶습니다 문자열의 요소와 함께 ","로 구분 된 요소

어떻게 "," "."로 바꿀 수 있지만 2 자리 사이 일 때만 가능합니까?

그래서 초기 배열과 같습니다 "물 1.3 리터, 뭔가의 2.5 파운드, 뭔가 다른 1.4 파운드"

감사

답변

4

당신은 그것을 달성하기 위해 정규 표현식을 사용할 수 있습니다

NSArray *array = [newString componentsSeparatedByString:@","]; 
: 이제 배열로 그를 분리하려는 경우
NSString *string = @"1,3 litres of water, 2,5 pounds of something ,1,4 pounds of something else"; 
NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:@"([0-9]+),([0-9]+)" options:0 error:nil]; 
NSString * newString = [regex stringByReplacingMatchesInString:string options:0 range:NSMakeRange(0, string.length) withTemplate:@"$1.$2"]; 
NSLog(@"%@", newString); // 1.3 litres of water, 2.5 pounds of something ,1.4 pounds of something else 

, 다음을 수행 할 수 있습니다

+0

감사 (\d+),(\d+) 교체, 그 일 – AndreiS