Вы можете использовать NSRegularExpression
(предупреждение: только для iOS4 +), чтобы сопоставить ваши подстроки, используя шаблон RegEx (как обычно @"##.*$$"
).
Тогда действительно легко итерировать по полученным совпадениям (я предпочитаю использовать блок перечисления, так как мы не iOS4: -)):
NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:@"##(.*)$$" options:NSRegularExpressionCaseInsensitive error:nil];
[regex enumerateMatchesInString:yourString options:0 range:NSMakeRange(0, [yourString length]) usingBlock:
^(NSTextCheckingResult *match, NSMatchingFlags flags, BOOL *stop) {
NSRange range = [match rangeAtIndex:1]; // range of string in first parens
NSString* oneWord = [yourString substringWithRange:range];
}
];
Примечание. Если вам требуется поддержка версий до iOS4, вы можете проверить NSPredicate
, но он гораздо менее гибок (... и я полагаю, что для версий до iOS4, используя rangeOfSubstring, вероятно, лучший выбор в любом случае, так как NSPredicate сообщит вам только о совпадении строки, но не позволит получить подстроку ...)