最近在做富文本处理的时候,发现同一个字符串只被检索一次,于是写了下面的方法:
- (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。