programing tip

동일한 구분 기호에서 NSString을 여러 번 분할

itbloger 2020. 10. 26. 07:46
반응형

동일한 구분 기호에서 NSString을 여러 번 분할


현재 다음과 같은 문자열을 받고 있습니다.

@"Sam|26,Hannah|22,Adam|30,Carlie|32,Jan|54"

그리고 나는 이것을 다음과 같이 나누고 있습니다.

testArray = [[NSArray alloc] init];
NSString *testString = [[NSString alloc] initWithFormat:@"Sam|26,Hannah|22,Adam|30,Carlie|32,Jan|54,Steve|56,Matty|24,Bill|30,Rob|30,Jason|33,Mark|22,Stuart|54,Kevin|30"];
testArray = [testString componentsSeparatedByString:@","];

dict = [NSMutableDictionary dictionary];
for (NSString *s in testArray) {

    testArray2 = [s componentsSeparatedByString:@"|"];
    [dict setObject:[testArray2 objectAtIndex:1] forKey:[testArray2 objectAtIndex:0]];
}

이제 다음과 같은 문자열을 받게됩니다.

@"Sam|26|Developer,Hannah|22|Team Leader,Adam|30|Director,Carlie|32|PA,Jan|54|Cleaner"

위와 동일한 방법을 사용하여 "|"를 사용하여 문자열을 두 번 이상 분리 할 수 ​​있습니까? 분리 기호?


다음 줄 ...

testArray2 = [s componentsSeparatedByString:@"|"];

이제 배열에 2 개가 아닌 3 개의 항목이 포함됩니다. 다시 분할 할 필요가 없습니다!


이렇게하세요.

NSString *testString = [[NSString alloc] initWithFormat:@"Sam|26,Hannah|22,Adam|30,Carlie|32,Jan|54,Steve|56,Matty|24,Bill|30,Rob|30,Jason|33,Mark|22,Stuart|54,Kevin|30"];
    NSArray *testArray = [testString componentsSeparatedByString:@","];
    NSLog(@"%@",testArray);
    for(int i=0;i<[testArray count];i++){
        NSString *str=[testArray objectAtIndex:i];
    NSArray *aa=[str componentsSeparatedByString:@"|"];
    NSLog(@"%@",aa);
    }

어레이를 유지할 필요가 없습니다.

참고 URL : https://stackoverflow.com/questions/6304450/split-nsstring-multiple-times-on-the-same-separator

반응형