iOS 遍历字符串中某两个字符之间的所有字符串

2017-03-13  本文已影响149人  orilme

有时候后台传过来的数据要截取出来分别展示,记录一下


NSString *dataStr =@"北戴河泽田旅馆位于北戴河海滨的中心赤土山村,奥林匹克大道公园斜对面,购物、用餐、出行都十分便利。\n- 距离北戴河火车站约9.5公里;\n- 距离秦皇岛站约18.9公里;\n- 距离秦皇岛机场约29.3公里。";
    NSString *temp = nil;
    NSMutableArray *array = [[NSMutableArray alloc]init];
    NSMutableArray *array2 = [[NSMutableArray alloc]init];
    for(int i =0; i < [dataStr length]-1; i++) {
        
        temp = [dataStr substringWithRange:NSMakeRange(i,2)];
        if ([temp isEqualToString:@"- "]) {
            [array addObject:[NSString stringWithFormat:@"%d", i]];
        }
        
        if ([temp isEqualToString:@"公里"]) {
            [array2 addObject:[NSString stringWithFormat:@"%d", i]];
        }
        
    }
    NSMutableArray *locationArray = [[NSMutableArray alloc]init];
    NSMutableArray *distanceArray = [[NSMutableArray alloc]init];
    for (NSInteger i=0; i<array.count; i++) {
        NSString *string  = [dataStr substringWithRange:NSMakeRange([array[i] integerValue], [array2[i] integerValue] - [array[i] integerValue])];
        NSRange startRange = [string rangeOfString:@"距离"];
        NSRange endRange = [string rangeOfString:@"约"];
        NSRange range = NSMakeRange(startRange.location + startRange.length, endRange.location - startRange.location - startRange.length);
        NSString *result = [string substringWithRange:range];
        [locationArray addObject:result];
        
        NSRange startRange2 = [string rangeOfString:@"约"];
        NSRange endRange2 = [string rangeOfString:@"公里"];
        NSRange range2 = NSMakeRange(startRange2.location + startRange2.length, endRange2.location - startRange2.location - startRange2.length);
        NSString *result2 = [string substringWithRange:range2];
        [distanceArray addObject:result2];
        
    }

上一篇下一篇

猜你喜欢

热点阅读