如何檢測它是Web URL還是路徑?檢測路徑中的URL
在NSURL蘋果參考頁面已經寫的,它接受一個URL,如果它是基於標準的,但任何一種字符串,它接受一個URL,這樣的代碼:
NSURL *url=[NSURL URLWithString:@"/book.xml"];
NSLog(@"%@",url);
這不是一個網頁網址,但它擁有它,也將其作爲其價值返回。 我已經試過這個功能,它的工作原理,但不是所有的網址!
-(BOOL) urlIsValiad: (NSString *) url {
NSString *regex = @"((?:http|https)://(?:www\\.)?[\\w\\d\\-_]+\\.\\w{2,3}/?(?:[\\w\\d\\-./_]+)?)";
NSPredicate *regextest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", regex];
if ([regextest evaluateWithObject: url] == YES) {
NSLog(@"It is a valid URL!");
} else {
NSLog(@"It is not valid URL!");
}
return [regextest evaluateWithObject:url];
}
我擔心的是檢測其他路徑中的URL!
我編輯了我的帖子,我用了一些類似的東西,但即使它有一些例外情況不起作用。 – user1095058 2012-01-05 07:24:18
你確定NSDataDetector不起作用嗎?我可能誤解了,但NSDataDetector應該能夠在一個長字符串中找到多個URL。 – 2012-01-05 07:30:14
不幸的是我不能使用它!因爲我打算提供一個適用於OSX版本10.5的應用程序! – user1095058 2012-01-05 14:54:21