В идеале я бы использовал для этого регулярное выражение, возможно, что-то вроде co_2(.*?)end
, поэтому я бы взглянул на RegexKitLite, так как стимулы подсказывают .
Если это не подходит, вы можете извлечь искомую строку следующим образом:
NSString* src = @"xxxxxco_2zendxxxxxxx";
NSRange startMarker = [src rangeOfString:@"co_2"];
if (startMarker.location != NSNotFound) {
NSScanner* scanner = [NSScanner scannerWithString:src];
[scanner setScanLocation:startMarker.location + startMarker.length];
NSString* co2Value = @"";
[scanner scanUpToString:@"end" intoString:&co2Value];
NSLog(@"co_2 value is %@", co2Value);
} else {
NSLog(@"co_2 marker not found");
}
Здесь мы ищем @"co_2"
, потерпев неудачу, если он не найден, а затем используем NSScanner
, чтобы захватить все, начиная от этой строки до следующего вхождения @"end"
. Обратите внимание, что если @"end"
отсутствует, этот код автоматически перехватит оставшуюся часть строки.