ios - 请问这种格式的数据如何解析?

查看:76
本文介绍了ios - 请问这种格式的数据如何解析?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

数据本身是一个txt文件,它的内容如下:

model的属性有3种:

@property (nonatomic, copy) NSString * cover;   // 头像地址

@property (nonatomic, copy) NSString * title;   // 标题

@property (nonatomic, copy) NSString * url;     // 详情

下面是我的代码,我用数组来接收的.但是真的不知道该如何解析,或许要用到正则匹配?

-(void)getDataForBtn1 {
    
    NSString *path = [NSString stringWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"video" ofType:@"txt"]encoding:NSUTF8StringEncoding error:nil];
    
    NSArray *dataFormTxt = [path componentsSeparatedByString:@"\n"];
    
    NSLog(@"Lines: %@",dataFormTxt);
}


谢谢帮忙回答

解决方案

很简单啊。状态机 + 从左至右分析就行了啊。具体流程如下:

1.期望【("】,这是一条数据的开始标志,以及数据的第1部分的起始标志。在此期间取到任何字符都是异常。
2.取到【("】,进入数据处理环节,并且进入数据的第1部分的处理环节。

3.期望【","】,这是数据的第1部分与第2部分的分隔字符串。在此期间取到任何字符都保存到缓存字符串中。
4.取到【","】,此时缓存字符串中的内容为数据的第1部分,保存起来,然后清空缓存字符串。

5.期望【","】,这是数据的第2部分与第3部分的分隔字符串。在此期间取到任何字符都保存到缓存字符串中。
6.取到【","】,此时缓存字符串中的内容为数据的第2部分,保存起来,然后清空缓存字符串。

7.期望【")】,这是数据的第3部分的结束标志,以及整条数据的结束标志。在此期间取到任何字符都保存到缓存字符串中。
8.取到【")】,此时缓存字符串中的内容为数据的第3部分,保存起来,然后清空缓存字符串。

这篇关于ios - 请问这种格式的数据如何解析?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆