Skip to content

Instantly share code, notes, and snippets.

@kingiol
Created June 2, 2015 10:15
Show Gist options
  • Save kingiol/503f1f23f5c55a88cdf4 to your computer and use it in GitHub Desktop.
Save kingiol/503f1f23f5c55a88cdf4 to your computer and use it in GitHub Desktop.
@implementation NSString (Range)
- (NSArray *)rangesOfString:(NSString *)substring {
if (self.length == 0 || substring.length == 0)
return @[];
NSRange searchRange = NSMakeRange(0, self.length - 1);
NSMutableArray *ranges = [@[] mutableCopy];
while (searchRange.location < self.length) {
searchRange.length = self.length - searchRange.location;
NSRange findRange = [self rangeOfString:substring options:NSCaseInsensitiveSearch range:searchRange];
if (findRange.length != 0)
[ranges addObject:NSStringFromRange(findRange)];
if (findRange.location != NSNotFound) {
searchRange.location = findRange.location + findRange.length;
}else {
break;
}
}
return [ranges copy];
}
@end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment