我目前正在收到这样的字符串:
@"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"
我可以(以及如何)使用与上面相同的方法使用“|”多次分隔字符串分离器?
答案 0 :(得分:165)
以下一行......
testArray2 = [s componentsSeparatedByString:@"|"];
会导致数组现在包含3个项目,而不是2个......不需要再次拆分!
答案 1 :(得分:4)
这样做。
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);
}
无需保留阵列。