В идеале я бы использовал регулярное выражение для этого, возможно, что-то вроде co_2(.*?)end
, поэтому я бы посмотрел на RegexKitLite как stimms suggests.
Если это не подходит, вы можете извлечь строку, которую вы ищете что-то вроде этого:
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"
отсутствует, этот код беззвучно захватывает остальную часть строки.
Отлично, спасибо. Код тоже работал в первый раз! –