有没有人在 iOS 上使用 NSDataDetector 来匹配航班信息?它看起来非常强大,但我根本无法让它工作。
这是我正在尝试的:
NSDataDetector *detector = [NSDataDetector dataDetectorWithTypes:(NSTextCheckingTypes)NSTextCheckingTypeTransitInformation error:&error];
[detector enumerateMatchesInString:string
options:0
range:NSMakeRange(0, [string length])
usingBlock:^(NSTextCheckingResult *result, NSMatchingFlags flags, BOOL *stop) {
NSLog(@"Detected: %@, %@", result, [result URL]);
}
我正在尝试各种字符串,包括我可以在日历中找到的每个日历条目的正文,其中包含航班信息。
例子:
- “UA460 SFO 到 YVR [航班] 2013 年 6 月 12 日联合航空公司 (UA) #460 dep SFO 太平洋夏令时间晚上 7:57 到达 YVR 太平洋夏令时间晚上 10:14;票 #0162360127882,票 #0162360127883;会议 #K5XBXY;注意:,座位: ---/30A,座位:---/30B"
- “在 UA 1255 机场接劳拉”
- “汉莎航空 1128 商务 (C) | 座位 07F 法兰克福巴塞罗那 2 小时 0 米 679 英里 FRA 下午 1:15 BCN 下午 3:15 ,于 2012 年 10 月 5 日星期五抵达汉莎
航空 1128 商务 (C) | 座位 07F | 确认或更改座位航空公司*”
但这些都不匹配。如果我将数据检测器类型更改为包括 NSTextCheckingTypePhoneNumber 或 NSTextCheckingTypeLink,它们匹配得很好。但我无法获取航班数据。
有人对此有任何运气吗?