Метод NSString componentsSeparatedByString:
будет делать в основном то же самое, что и text items
в Applescript. Вы можете вызвать than, затем получить доступ к объектам из массива, чтобы получить подстроки. В этом примере захватывается весь текст после последнего вхождения «Jarvis>» в исходной строке:
NSString* originalString; //comes from somewhere
NSArray* substrings = [originalString componentsSeparatedByString:@"Jarvis>"];
NSString* lastSubstring = [substrings lastObject];
Однако, если вы просто хотите получить подстроку с передней или задней части существующей строки, взгляните на rangeOfString:
, substringToIndex:
и substringFromIndex:
. Сначала вы должны использовать rangeOfString:
, чтобы найти строку, которую хотите разделить, а затем один из методов подстроки, чтобы получить нужный текст. Это несколько более эффективно, чем componentsSeparatedByString:
, если вы хотите получить доступ только к одной подстроке, а не к каждой отдельной подстроке, разделенной вашим разделителем текста. В этом примере захватывается весь текст перед первым появлением «[Jarvis]» в исходной строке:
NSRange jarvisRange = [originalString rangeOfString:@"[Jarvis]"];
NSString* substring = [originalString substringToIndex:jarvisRange.location];
Вы также можете использовать rangeOfString:options:
, передав NSBackwardsSearch
параметру параметров, если вы хотите выполнять поиск с конца строки, а не с начала.