Получение подстроки от определенного символа в NSString - PullRequest
31 голосов
/ 16 июня 2010

Если у меня есть NSString, которая изначально:

"ABCDE*FGHI"

Как мне сделать так, чтобы она превратилась в

"FGHI"

Другими словами, все, начиная от звездочки, сохраняется.1007 *

Аналогично, как бы я превратил это в:

"ABCDE"

(все, вплоть до звездочки, сохранено)

Спасибо

Ответы [ 4 ]

64 голосов
/ 16 июня 2010
NSString *myString = @"ABCDE*FGHI"; 
NSArray *myArray = [myString componentsSeparatedByString:@"*"];
  • ключ 0 myArray будет содержать @ "ABCDE"
  • ключ 1 будет содержать @ "FGHI"

Если вы хотите, чтобы более одного символабыть разделителем,
использовать componentsSeparatedByCharactersInSet:

NSString *myString = @"ABCDE*FGHI-JKL"; 
NSArray *myArray = [myString componentsSeparatedByCharactersInSet:[NSCharacterSet characterSetWithCharactersInString:@"*-"]];
  • ключ 0 myArray будет содержать @ "ABCDE"
  • ключ 1 будет содержать @ "FGHI"
  • ключ 2 будет содержать @ "JKL"
22 голосов
/ 16 июня 2010
NSString *myString = @"ABCDE*FGHI";
NSString *subString = [myString substringWithRange: NSMakeRange(0, [myString rangeOfString: @"*"].location)];
9 голосов
/ 29 августа 2012
NSString *myString = @"ABCDE*FGHI";
NSArray *myArray = [myString componentsSeparatedByString:@"*"];
0 голосов
/ 02 июня 2015
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]);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...