// 找出连续的相同元素 并记录起始位置和长度
-(NSMutableArray *)locationFromStr:(NSString *)str sameStr:(NSString *)sameStr
{
NSMutableArray *arr = [NSMutableArray array];
NSString * temp =nil;
NSInteger count = [str length];
NSInteger location = 0;
NSInteger length = 0;
BOOL isAdd =NO;
for(NSInteger i =0; i < count; i++)
{
NSRange range = NSMakeRange(i,1);
if (range.location + range.length <= count)
{
temp = [str substringWithRange:range];
if ([temp isEqualToString:sameStr])
{
if (isAdd == NO)
{
isAdd = YES;
location = i;
}
length++;
if (i == count-1)
{
NSRange rangeNew = NSMakeRange(location,length);
[arr addObject:NSStringFromRange(rangeNew)];
}
}
else
{
if (length == 0 && location == 0)
{
}
else
{
NSRange rangeNew = NSMakeRange(location,length);
[arr addObject:NSStringFromRange(rangeNew)];
}
length = 0;
location = 0;
isAdd = NO;
}
}
}
NSLog(@"arr = %@",arr);
return arr;
}
// 调用
NSString *str = @"_把大象装_____冰箱分_____步?_";
[self locationFromStr:str sameStr:@"_"];