2010-06-16 8 views

Répondre

59
NSString *myString = @"ABCDE*FGHI"; 
NSArray *myArray = [myString componentsSeparatedByString:@"*"]; 
  • touche 0 de monTableau contiendra @ "ABCDE"
  • clé 1 Contiendra @ "FGHI"

Si vous voulez plus d'un caractère comme le séparateur,
utilisation componentsSeparatedByCharactersInSet:

NSString *myString = @"ABCDE*FGHI-JKL"; 
NSArray *myArray = [myString componentsSeparatedByCharactersInSet:[NSCharacterSet characterSetWithCharactersInString:@"*-"]]; 
  • touche 0 de monTableau contiendra @ » ABCDE »
  • touche 1 contiendra @ "FGHI"
  • touche 2 contiendra @ "JKL"
+1

Cela peut être fait par un moyen plus facile et quand un délimiteur est un objet de NSString – Gargo

+0

Vous avez raison, je viens de mettre à jour la réponse. @Gargo –

18
NSString *myString = @"ABCDE*FGHI"; 
NSString *subString = [myString substringWithRange: NSMakeRange(0, [myString rangeOfString: @"*"].location)]; 
+0

Je reçois ces erreurs lors de la compilation avec ce code: type incompatible pour l'argument 1 de 'substringWithRange:', déclaration implicite de la fonction 'NSRangeMake' – cannyboy

+1

@cannyboy Désolé, il était NSMakeRange, pas NSRangeMake – luvieere

+0

cette est mieux que la réponse acceptée car il se comporte comme l'OP demandé pour l'entrée comme "AB \ * CD \ * EF" – bazik

9
NSString *myString = @"ABCDE*FGHI"; 
NSArray *myArray = [myString componentsSeparatedByString:@"*"]; 
0
NSString *yourString = @"ABCDE*FGHI"; 

NSMutableArray * array = [[NSMutableArray alloc] initWithArray:[yourString componentsSeparatedByString:@"*"]]; 

for(int i =0 ; i < array.count ; i++){ 
    NSLog(@"- %d : %@ \n",i,[array objectAtIndex:i]); 
} 
+0

Pouvez-vous ajouter du texte expliquant ce que fait ce code, et si nécessaire comment l'intégrer dans le code existant? (par exemple, les entrées, les sorties, les paramètres) Les blobs de code sans explication ne font pas de très bonnes réponses Stack Overflow. –

+0

Ce code insère tous les mots séparés par '*' dans muttableArray puis montre-les. –

Questions connexes