iOS开发,检索字符串中相同字符串的所有range

最近在做富文本处理的时候,发现同一个字符串只被检索一次,于是写了下面的方法:

- (NSArray *)rangeOfSubString:(NSString *)subStr inString:(NSString *)string {

NSMutableArray *rangeArray = [NSMutableArrayarray];

NSString *string1 = [string stringByAppendingString:subStr];

NSString *temp;

for (int i = 0; i < string.length; i ++) {

temp = [string1 substringWithRange:NSMakeRange(i, subStr.length)];

if ([temp isEqualToString:subStr]) {

NSRange range = {i,subStr.length};

[rangeArray addObject:NSStringFromRange(range)];

}

}

return rangeArray;

}

​提示:返回的数组是把range以字符串的形式保存进去的,当用到的时候还是要用方法NSRangeFromString(rangeArray[i])​获取range。

你可能感兴趣的:(iOS开发,检索字符串中相同字符串的所有range)