NSString *test = @"How are you;<random>[Good;Bad]";
NSArray *howareyou = [test componentsSeparatedByString:@";"];
NSString *desired = [howareyou objectAtIndex:0];
NSString *rest = [[howareyou subarrayWithRange:NSMakeRange(1, [howareyou count]-1)]
componentsJoinedByString:@";"];
Не становится намного менее эффективным (или хрупким - без проверки ошибок, проверки диапазона, проверки длины и т. Д.), Чем это.Прекрасно подходит для нескольких строк здесь и там ограниченной длины, вероятно, неприемлемо для большого ввода и т. П.
Измерьте в первую очередь.Оптимизировать после.