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<rangeArr.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);//这是解析到的字符串   
        }
    } 

这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值