我正在尝试使用 NSScanner 解析 ics 文件(为了解析已转换为文本文件),即:calendar file.txt
这是文本文件的格式:
BEGIN:VEVENT
DTSTAMP:20101129T061152Z
UID:101139897313172011030314:00
SUMMARY:14:00 - SYSI30251 - CB100 - SEM B
DESCRIPTION:14:00 - 15:00, SYSI30251 - Module Name<br />Group: B <b>Seminar with Lecturer in room(s) (Clif) Computing Bldg 100
DTSTART;TZID=Europe/London:20110303T140000
DTEND;TZID=Europe/London:20110303T150000
SEQUENCE:2
END:VEVENT
BEGIN:VEVENT
DTSTAMP:20101129T061152Z
UID:1011558905160182011030315:00
SUMMARY:15:00 - COMP30251 - CFL015 - LEC
DESCRIPTION:15:00 - 16:00, COMP30251 - Project Management<br /> Lecture with Lecturer in room(s) (Clif) Centre For Learning 015
DTSTART;TZID=Europe/London:20110303T150000
DTEND;TZID=Europe/London:20110303T160000
SEQUENCE:2
END:VEVENT
以上是文件的格式。下面是我的代码:
NSString *path = [[NSBundle mainBundle] pathForResource:@"180946_icalfile" ofType:@"txt"];
NSString *fileComponents = [[NSString alloc] initWithContentsOfFile:path encoding:NSUTF8StringEncoding error:nil];
NSArray *lines = [fileComponents componentsSeparatedByString:@"\n"];
NSEnumerator *nse = [lines objectEnumerator];
NSString *mod;
while(fileComponents = [nse nextObject]) {
NSString *stringBetweenBrackets = nil;
NSScanner *scanner = [NSScanner scannerWithString:fileComponents];
[scanner scanUpToString:@"," intoString:nil];
[scanner scanString:@"" intoString:nil];
[scanner scanUpToString:@"DTSTART" intoString:&stringBetweenBrackets];
NSLog(@"%@", stringBetweenBrackets);
基本上我想存储所有“描述”并将它们存储为变量或数组的一部分。目前,代码将描述输出到控制台上,我想将它们保存为变量。有人可以告诉我如何做到这一点吗?