Вот проверенный код для выполнения вашей задачи.
NSString *string = @"ab anystring yz";
NSString *result = nil;
// Determine "ab" location
NSRange divRange = [string rangeOfString:@"ab" options:NSCaseInsensitiveSearch];
if (divRange.location != NSNotFound)
{
// Determine "ab" location according to "yz" location
NSRange endDivRange;
endDivRange.location = divRange.length + divRange.location;
endDivRange.length = [string length] - endDivRange.location;
endDivRange = [string rangeOfString:@"yz" options:NSCaseInsensitiveSearch range:endDivRange];
if (endDivRange.location != NSNotFound)
{
// Tags found: retrieve string between them
divRange.location += divRange.length;
divRange.length = endDivRange.location - divRange.location;
result = [string substringWithRange:divRange];
string =[string stringByReplacingCharactersInRange:divRange withString:@"Replace string"];
}
}
Теперь вы просто проверяете строку, которую получите ab Замените строку yz