Как найти подстроку между двумя строками?
У меня есть строка "Привет, как... вы"
Я хочу найти подстроку после того, как и до вас..
Как это сделать в объективном c?
Ответы
Ответ 1
Найдите диапазон двух строк и верните подстроку между:
NSString *s = @"hi how are... you";
NSRange r1 = [s rangeOfString:@"how"];
NSRange r2 = [s rangeOfString:@"you"];
NSRange rSub = NSMakeRange(r1.location + r1.length, r2.location - r1.location - r1.length);
NSString *sub = [s substringWithRange:rSub];
Ответ 2
Вы можете использовать метод NSString substringWithRange
Пример
NSString *[email protected]"hi how are you";
NSRange searchFromRange = [string rangeOfString:@"how"];
NSRange searchToRange = [string rangeOfString:@"you"];
NSString *substring = [string substringWithRange:NSMakeRange(searchFromRange.location+searchFromRange.length, searchToRange.location-searchFromRange.location-searchFromRange.length)];
NSLog(@"subs=%@",substring); //subs= are
Ответ 3
используйте SubstringTOIndex
и SubstringFromIndex
функции NSString
. Где SubstringFromIndex
дает вам string
из переданного вами индекса, а функция SubstringTOIndex
дает вам string
до индекса, который вы передали.
Также попробуйте substringWithRange
функцию, которая возвращает string
между пройденным диапазоном.
Ответ 4
Используйте substringWithRange
...
NSString* substring = [originalString substringWithRange:NSMakeRange(3, originalString.length-6)];