2010-12-01 3 views
-2

빠른 질문. 특정 하위 문자열이 포함되어 있으면 NSString을 분할해야합니다. 누군가 나에게 이것을하는 방법의 예를 보여줄 수 있습니까?NSString 분할

// good string 
string = RESULT: 123.23 

// bad string (has no result prefix) 
string = asldkfjasdlkfj 

if(string has "RESULT: " in it) 
{ 
    string2 = (something that returns the 123.23 part) 
} 

대단히 감사합니다.

+4

를 유용한 발견 희망? Objective-C를 쓰지 않고 의사적인 언어를 작성하기 때문에 아무 것도 아닌 것 같습니다. Apple 개발자 문서는 훌륭한 자료이므로 사용하십시오. – Joost

+0

솔직히 나는 아무 것도 시도하지 않았고, 아이폰 앱 중 하나에 대한 버그 보고서를 얻었으며, 직장에서 좀 더 오래 걸리면, 빠른 스 니펫을 얻을 수 있기를 바랬다. 집으로 돌아 가면 패치를 제출할 수있다. 애플 최대한 빨리. – Josh

답변

2

좋아, 그럼, 두 개의 빠른 방법을 접두사하지, 접미사를 반환 :

-[NSString hasPrefix:] 
-[NSString substringFromIndex:] 

그러나 유효하지 않은 경우를 처리하는 것을 잊지 마세요.

2
- (NSString *)splitString { 
    NSRange range = [myString rangeOfString:@"RESULT: "]; 
    if (range.location != NSNotFound) { 
     return [myString substringFromIndex:NSMaxRange(range)]; 
    } 
    return nil; 
} 

편집은

+0

'-substringFromIndex :';) – Joost

+3

substringFromIndex : range.location + range.length;) – Prcela

+0

아, 죄송합니다. 접두사를 원한다고 생각했지만 맞았습니다. 요청 된 접미사였습니다. 나는 내 대답을 편집 할 것이다. –

1

더 큰 유연성을 얻으려면 NSScanner을 시도 할 수 있습니다.

6

있는 NSString을 분할하는 가장 좋은 방법은 다음과 같습니다

- (NSArray *)componentsSeparatedByString:(NSString *)separator; 

나는 당신이 당신이 시도 무엇

+0

남자,이 질문은 1 년 이상 된 것입니다! – Josh

+2

예! 나도 알아,하지만 네가 원하는 해결책이라고 생각해. 그렇지 않니? –