내가 ICS 파일 (즉,이 분석을 위해 텍스트 파일로 변환 된) 즉, 구문 분석 NSScanner를 사용하려고 구문 분석 : 여기NSScanner 파일
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);
는 기본적으로 나는 모든 '설명'저장 변수 또는 배열의 일부로 저장할 : 다음은 내 코드입니다. 현재 코드는 설명을 콘솔에 출력하므로 변수로 저장하려고합니다. 누군가 어떻게이 일을 할 수 있는지 보여줄 수 있습니까?
어떻게하면 regexp를 사용할 수 있습니까? 또한 내가 어디에 다시 u를 귀찮게해서 유감스럽게도이 정규 표현식을 넣을 것인가 ... 그리고 응답 해 주셔서 감사합니다! – Ibz
RegexKit * Lite * (프레임 워크가 아닌 Lite 버전)를 사용하십시오. http://regexkit.sourceforge.net/. 꽤 사용하기 쉽습니다;)! – elslooo
아이폰 응용 프로그램에서 작동합니까? – Ibz