iOS 开发中正则表达式实践(一)

需求抽象:

现在有一段字符串

{“state”:200,”error”:”登录成功!”,”json”:{“auid”:”402888f54c12441e014c1246bdf90003″}} 现在需要提取auid后面的内容串,也就是402888f54c12441e014c1246bdf90003

分析:

在学习正则表达式之前,我使用的方式是: 用 Json 转字典,然后获取到 key. 对于这个,如果要拿到auid 对应的内容,我有两种方法: 1.做两次 json 转字典. 2.一次字典+一次字符串截取 但是这两种方法都有一些繁琐,于是想到了处理字符串的秘法—正则表达式

实现步骤:

1.拷贝原始字符串到正则工具(现在很多在线的正则测试工具,我使用的是 RegExRX)

2.测试匹配 如图

3.iOS 代码实现 注意:虽然正则本身是通用的,但是每种语言的处理不一样,像刚刚的表达式,在 iOS 中, \d 需要加转义字符 \ 最终代码实现如下:

//regex//1.创建正则表达式对象,并指定正则表达式NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:@”[\\d\\w]{10,}” options:0 error:nil];//2.获取特定字符串的范围NSTextCheckingResult *match = [regex firstMatchInString:string options:0 range:NSMakeRange(0, [string length])];//3.截取特定的字符串if (match) { NSString* result = [string substringWithRange:match.range];DDLogVerbose(@”%@”,result);//存储到偏好设置[[NSUserDefaults standardUserDefaults] setObject:result forKey:@”audi”];}结语:

这次只是简单的匹配,并且我和服务器端沟通好了,知道我要的数据格式一定是如何的.一切工作都应该从需求出发.没有必要也不可能做到面面俱到.

,对于旅行,从来都记忆模糊。记不得都去了哪些地方,

iOS 开发中正则表达式实践(一)

相关文章:

你感兴趣的文章:

标签云: