Поиск подстроки NSString с помощью RegularExpressions

Я пытаюсь получить подстроку из NSString с помощью NSRegularExpression. Мне не нужно количество совпадений или замена строки, мне нужна строка, соответствующая регулярному выражению.

NSString *string = <a>www.apple.com</a>
NSError *error;
[NSRegularExpression regularExpressionWithPattern:@"(\b(https?|ftp|file)://)?[-A-Za-z0-9+&@#/%?=~_|!:,.;]+[-A-Za-z0-9+&@#/%=~_|]" options:NSRegularExpressionCaseInsensitive error:&error];
NSString *substring;

Я ищу:

substring = www.apple.com;

Я пытаюсь использовать как можно меньше NSRange/NSMakeRange. Кто-нибудь может мне помочь?


person user3674177    schedule 14.01.2015    source источник


Ответы (1)


NSRange *range = [string rangeOfString:@"(\b(https?|ftp|file)://)?[-A-Za-z0-9+&@#/%?=~_|!:,.;]+[-A-Za-z0-9+&@#/%=~_|]" options:NSRegularExpressionSearch];
if(range.location!=NSNotFound) {
NSString *neededSubString = [String SubStringWithRange:range];
}

в этом коде мы сначала получаем диапазон строки, которая соответствует регулярному выражению. то мы получаем подстроку из этого диапазона

person Bhargavi    schedule 15.01.2015