我在http://在NSString中有一個文本。我想從NSString獲取該鏈接。我怎麼能從字符串中獲得鏈接/網址?例如:'疊加流程對於初學者https://stackoverflow.com/'非常有用。我想從文本中獲得'https://stackoverflow.com/'。我怎樣才能做到這一點?提前致謝。如何在iPhone的NSString中獲取並獲取URL?
回答
我不知道你到底是通過鏈接的意思,但如果你想你的NSString轉換爲NSURL比你可以做到以下幾點:
NSString *urlString = @"http://somepage.com";
NSURL *url = [NSURL URLWithString:urlString];
編輯
這是怎麼弄在給定的NSString所有網址:
NSString *str = @"This is a grate website http://xxx.xxx/xxx you must check it out";
NSArray *arrString = [str componentsSeparatedByString:@" "];
for(int i=0; i<arrString.count;i++){
if([[arrString objectAtIndex:i] rangeOfString:@"http://"].location != NSNotFound)
NSLog(@"%@", [arrString objectAtIndex:i]);
}
試試這個:
nsstring *str = @"Stack over flow is very useful link for the beginners http://stackoverflow.com/";
nsstring *http = @"http";
nsarray *arrURL = [str componentsSeparatedByString:@"http"];
這會在nsarray中給出兩個對象。第一個對象將是具有:Stack over flow is very useful link for the beginners
和2將是:://stackoverflow.com/
(我猜)
,那麼你可以這樣做:
NSString *u = [arrURL lastObject];
那麼就喜歡:
nsstring *http = [http stringByAppendingFormat:@"%@",u];
相當漫長的,但我認爲這會對你有用。希望能幫助你。
而不是分裂的字符串到一個數組,折騰了這種方式,你可以搜索字符串以@開頭的「http://」:
NSString *str = @"Stack over flow is very useful link for the beginners http://stackoverflow.com/";
// get the range of the substring starting with @"http://"
NSRange rng = [str rangeOfString:@"http://" options:NSCaseInsensitiveSearch];
// Set up the NSURL variable to hold the created URL
NSURL *newURL = nil;
// Make sure that we actually have found the substring
if (rng.location == NSNotFound) {
NSLog(@"URL not found");
// newURL is initialised to nil already so nothing more to do.
} else {
// Get the substring from the start of the found substring to the end.
NSString *urlString = [str substringFromIndex:rng.location];
// Turn the string into an URL and put it into the declared variable
newURL = [NSURL URLWithString:urlString];
}
感謝您的好評。我對此有更多疑問如何從本文獲取鏈接「Stack over flow對於http://stackoverflow.com/ beginners」非常有用鏈接?謝謝。 – 2011-12-29 13:56:20
這是一個完全不同的問題! – Abizern 2011-12-29 13:58:28
謝謝。 Mr.Cyprian的回答對我來說非常好。謝謝你的努力。我再一次感謝你,並且我贊成你的回答。 – 2011-12-29 14:03:26
- 1. 如何從NSString獲取int?
- 2. 如何從NSString獲取CGFloat?
- 3. 如何在iPhone應用程序中從NSString獲取整數值?
- 4. 如何從iPhone中的nsstring評估中獲取整數值?
- 5. 如何獲取URL參數並在
- 6. 如何從ios中獲取Nsstring的值?
- 7. 如何獲取NSString中的Java Script元素值? (iphone)
- 8. 如何從url中獲取xml的NSString包含?
- 9. 獲取URL,並從中
- 10. 如何獲取我在iphone
- 11. 如何從塊中獲取NSString?
- 12. 獲取NSString高度
- 13. 從NSArray獲取NSString
- 14. 爲NSString獲取CGSize?
- 15. 如何在javascript中獲取iframe的URL?
- 16. 如何從URL獲取並解析Json?
- 17. 如何獲取NSString的字符?
- 18. 如何獲取NSString的NSArray鍵值?
- 19. 如何獲取NSString的子串?
- 20. 如何獲取HTTPResponse的URL
- 21. Iphone從推送通知中獲取url
- 22. 如何在iPhone中獲取UILabel標籤
- 23. 如何在iPhone中獲取方向?
- 24. 如何在iPhone中獲取XLS數據?
- 25. 如何在iPhone中獲取NSMutableDictionary計數?
- 26. 如何在iPhone中獲取時差
- 27. 如何在PHP中獲取URL
- 28. 如何在Rails中獲取URL參數?
- 29. 如何在Wordpress中獲取URL?
- 30. Appium:如何在webview中獲取URL
有點冗長將其分割成一個數組然後搜索子字符串的範圍,當你只能搜索子字符串的範圍,只需一次。 – Abizern 2011-12-29 13:44:29
@Abizern你引用的子字符串只適用於一種情況,也就是說如果字符串中只有一個URL,並且該URL是字符串中的最後一個對象,那麼如果該URL將被隱藏在文本中間,它不適用於多個URL的 – Cyprian 2011-12-29 15:53:47
是的,在他提出的擴展問題中,看起來您的解決方案似乎更符合法案。但是,基於塊的枚舉和檢查[[arrString objectAtIndex:i] hasPrefix:@「http://」];可能會更高效一些。 – Abizern 2011-12-29 15:58:30