我試圖用NSScanner解析ICS文件(即用於分析的目的已被轉換爲文本文件),即:日曆file.txt的NSScanner解析文件
這裏是文本格式文件:
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);
基本上我想存儲所有的「記述」,並將它們存儲作爲變量或作爲陣列的一部分。目前,代碼將描述輸出到控制檯上,我想將它們保存爲變量。有人能告訴我如何做到這一點嗎?
我將如何使用正則表達式?也在哪裏我會把這個正則表達式抱歉再打擾你..並感謝回答! – Ibz 2011-03-07 17:04:59
從這裏使用RegexKit * Lite *(不是框架,Lite版本):http://regexkit.sourceforge.net/。這很容易使用;)! – elslooo 2011-03-07 17:07:00
它可以與iphone應用程序一起使用嗎? – Ibz 2011-03-07 17:09:33