我的应用会收到大量文本字符串,这些字符串可能包含也可能不包含字符串中任何位置的URL。从字符串中提取URL的最佳方法是什么?谢谢。
答案 0 :(得分:8)
如果您正在使用Mac应用程序,Mac OS X 10.6提供了一个新的API,可让您使用拼写检查器检测URL。你可以这样做。
NSString *s = @"http://example.com"
NSInteger wordCount = 0;
NSOrthography *orthography = nil;
NSArray *checkResults = [[NSSpellChecker sharedSpellChecker] checkString:s range:NSMakeRange(0, [s length]) types:NSTextCheckingTypeLink options:nil inSpellDocumentWithTag:0 orthography:&orthography wordCount:&wordCount];
for (NSTextCheckingResult *result in checkResults) {
NSRange range = result.range;
NSURL *URL = result.URL;
}
答案 1 :(得分:3)
The BSD-licensed AutoHyperlinks framework提供了扫描网址文字的类,并将其返回给您或将其标记为属性字符串中的链接。
我不认为它是开箱即用的iPhone,但你总是可以添加预处理器指令来删除任何依赖于AppKit的代码。一旦你进行构建,扫描和返回界面应该可以正常工作。 (确保运行测试。)