2010-01-15 1 views
0

다음 문자열 "Center-World"이 있다고 가정하고이 문자열을 두 개의 다른 문자열로 분리하려하지만 대시가 "Center"의 일부가 되길 원합니다. 아래 코드를 사용하면 ["Center","World"]으로 문자열을 얻었고 ["Center-","World"]을 반환하는 무언가를 원합니다.문자열을 분리하고 반환 된 구성 요소 중 하나에 분리 문자를 포함하십시오

NSCharacterSet *stringDelimiters = [NSCharacterSet characterSetWithCharactersInString:@" :-"]; 
NSArray *cellContentWords = [cell.text componentsSeparatedByCharactersInSet:stringDelimiters]; 

어떤 제안 : 여기

내 코드?

미리 감사드립니다.

답변

0

나는 최근 이와 비슷한 것이 필요했습니다. 다양한 구성 요소 (예 : initWithFoo:, bar:baz:)에 선택기 문자열 (예 : initWithFoo:bar:baz:)을 분할하고 싶습니다. 내가 그랬듯이, componentsSeparatedByString:은 그것을 잘 자르지 않았습니다. 그래서 저는 내가 찾던 일을 할 수있는 NSString 카테고리를 만들어 :

- (NSArray *) selectorComponents { 
    NSMutableArray * components = [NSMutableArray array]; 
    NSMutableString * scratchString = [self mutableCopy]; 
    while ([scratchString rangeOfString:@":"].location != NSNotFound) { 
     NSRange componentRange = NSMakeRange(0, [scratchString rangeOfString:@":"].location+1); 
     NSString * component = [scratchString substringWithRange:componentRange]; 
     [components addObject:component]; 
     [scratchString replaceCharactersInRange:componentRange withString:@""]; 
    } 
    [scratchString release]; 
    return components; 
} 

당신은 @"-"@":" 검색에서 변경할 수 있습니다 만, 그 후 당신이 기대하는대로 작동합니다.

관련 문제