web-dev-qa-db-fra.com

Obtenir la sous-chaîne d'un certain caractère dans NSString

Si j'ai un NSString qui est initialement:

"ABCDE*FGHI"

Comment puis-je le transformer en 

"FGHI"

En d'autres termes, tout est conservé à partir de l'astérisque.

De même, comment pourrais-je le transformer en:

"ABCDE"

(tout est conservé jusqu'à l'astérisque)

Merci

29
cannyboy
NSString *myString = @"ABCDE*FGHI"; 
NSArray *myArray = [myString componentsSeparatedByString:@"*"];
  • la clé 0 de myArray contiendra @ "ABCDE"
  • la clé 1 contiendra @ "FGHI"

Si vous voulez que plusieurs caractères soient le séparateur,
utilisez componentsSeparatedByCharactersInSet:

NSString *myString = @"ABCDE*FGHI-JKL"; 
NSArray *myArray = [myString componentsSeparatedByCharactersInSet:[NSCharacterSet characterSetWithCharactersInString:@"*-"]];
  • la clé 0 de myArray contiendra @ "ABCDE"
  • la clé 1 contiendra @ "FGHI"
  • la clé 2 contiendra @ "JKL"
62
Samuel De Backer
NSString *myString = @"ABCDE*FGHI";
NSString *subString = [myString substringWithRange: NSMakeRange(0, [myString rangeOfString: @"*"].location)];
20
luvieere
NSString *myString = @"ABCDE*FGHI";
NSArray *myArray = [myString componentsSeparatedByString:@"*"];
9
Gargo
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