首页 > 请问这种格式的数据如何解析?

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

数据本身是一个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部分,保存起来,然后清空缓存字符串。


第一行的汉字说明了你现在的心情吧。。。这数据结构怎么弄出来的?完全不按套路出牌,用括号包裹出来的。。。
建议你和后端做数据的交流下,格式化数据这种事最好不要让移动端来做。上策。再就是你先格式化数据,格式化成json,下策。

【热门文章】
【热门文章】