Ich erhalte derzeit eine Zeichenfolge wie diese:
@"Sam|26,Hannah|22,Adam|30,Carlie|32,Jan|54"
Und ich teile es so auf:
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]];
}
Ich werde jetzt eine Zeichenfolge wie diese erhalten:
@"Sam|26|Developer,Hannah|22|Team Leader,Adam|30|Director,Carlie|32|PA,Jan|54|Cleaner"
Kann ich (und wie) dieselbe Methode wie oben verwenden, um die Zeichenfolge mehrmals mit dem "|" Separator?
objective-c
string
cocoa-touch
cocoa
nsstring
Sam Parrish
quelle
quelle
NSString
der "Split" -Methode suchten und die Antwort hier im Übrigen entdeckten.Antworten:
Die folgende Zeile ...
testArray2 = [s componentsSeparatedByString:@"|"];
bewirkt, dass das Array jetzt 3 Elemente anstelle von 2 enthält ..... keine erneute Aufteilung erforderlich!
quelle
mag das.
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); }
Das Array muss nicht beibehalten werden.
quelle