반응형
동일한 구분 기호에서 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
반응형
'programing tip' 카테고리의 다른 글
JavaScript 배열의 음수 인덱스가 배열 길이에 영향을 주어야합니까? (0) | 2020.10.27 |
---|---|
Angular.js와 Angular.dart의 차이점은 무엇입니까? (0) | 2020.10.27 |
mysql order by, null 먼저 및 DESC 이후 (0) | 2020.10.26 |
소켓 프로그래밍을위한 INADDR_ANY 이해 (0) | 2020.10.26 |
디스플레이없이 고정 높이의 입력 필드 내에서 텍스트를 세로로 정렬 : 테이블 또는 패딩? (0) | 2020.10.26 |