IOS从字符串中获取指定字符之间的字符串

IOS从字符串中获取指定字符之间的字符串
今天在项目中遇到一个解析字符串的需求,要求将字符串中冒号和分号中的字符串解析出来。感觉这个需求以后可能会遇到,就跟大家分享一下
下面是Oc代码
NSString* string=@”厂区名:养殖二厂;设发我发我备名:3号设备;are噶而过:温度;设备号:123456;”;
NSString* pattern=@”:|;”;//字符串的符号是中文的,正则表达式中的符号也为中文的,需要一致

    NSRegularExpression *regex =[NSRegularExpression regularExpressionWithPattern:pattern options:0 error:nil];
        NSArray *matches = [regex matchesInString:string options:0 range:NSMakeRange(0, string.length)];
        NSMutableArray*  rangeArr=[[NSMutableArray alloc] init];
        for (NSTextCheckingResult* match in matches) {
            [rangeArr addObject:[NSValue valueWithRange:match.range]];//找到每个分号和冒号的Range,存到数组
        }
        for (int i=0; i.count; i=i+2) {//for循环获取到每个符合条件的字符串,i=i+2将相邻的冒号和分号配对
            NSRange   range=[[rangeArr objectAtIndex:i] rangeValue];
            NSInteger location=range.location;
            NSRange  nextRange=[[rangeArr objectAtIndex:i+1] rangeValue];
            NSInteger  nextLocation=nextRange.location;
            NSRange   finalRange=NSMakeRange(range.location+1, nextLocation-location-1);
            NSString*  finalStr=[string substringWithRange:finalRange];
            NSLog(@"%@",finalStr);//这是解析到的字符串   
        }
    } 

IOS从字符串中获取指定字符之间的字符串_第1张图片

你可能感兴趣的:(iOS-开发)