2009-12-02 2 views
1

저는 NSString을 사용하고 있습니다. 문자 길이로 구문 분석하고 싶습니다. 그래서 그것을 NSArray로 분해하고 배열의 각 객체를 해당 문자열의 x 문자로 만듭니다. 그래서 기본적으로 문자열을 특정 길이의 하위 문자열로 나누십시오.코코아 : 문자 길이로 NSString을 구문 분석하십시오.

그래서 어떻게 할 수 있습니까?

예 :

"그녀의"

"에이"

"SM"

:

이 NSString * 문자열은

있는 NSArray 객체 @ "여기 내 문자열"=

"ys"

"트라이"

"NG"

+0

문제는 무엇입니까 같은 카테고리의 사용으로 구현 -

@interface NSString (MyStringExtensions) - (NSArray*)splitIntoPartsWithLength:(NSUInteger)length; @end @implementation NSString (MyStringExtensions) - (NSArray*)splitIntoPartsWithLength:(NSUInteger)length { NSRange range = NSMakeRange(0, length); NSMutableArray *array = [NSMutableArray array]; NSUInteger count = [self length]; while (length > 0) { if (range.location+length >= count) { [array addObject:[self substringFromIndex:range.location]]; return [NSArray arrayWithArray:array]; } [array addObject:[self substringWithRange:range]]; range.location = range.location + length; } return nil; } @end 

편집가 있지만 테스트하지? –

+0

어떻게해야합니까? –

+1

나는 당신이하려고하는 것을 더 잘 묘사해야한다고 생각합니다. 문자열을 특정 길이의 부분 문자열로 나누고 싶습니까? –

답변

5

이 일을 할 수 있습니까?

NSString *myString = @"Wish you a merry x-mas"; 
NSArray *array = [myString splitIntoPartsWithLength:10]; 
+0

이 분명하므로 문자열을 조각 x 문자로 파싱 할 수 있습니까? 내가 원하는 길이로 int 길이를 수정하면됩니까? –

+0

이것은 메서드이므로,이 'splitString : intoPartLengths :'메시지를 보낼 때 길이를 지정해야합니다. –

+0

epatel :'length'의 값을 결코 줄이지 않기 때문에 while 루프는 영원히 반복됩니다. –

관련 문제