2017-08-11 53 views

回答

0

雨燕3.0

您可以從字符串URL獲取視頻ID爲子像下面。

let url = URL(string: "https://www.youtube.com/watch?v=iTcq6L-PaDQ")!.absoluteString 

let Id = url.substring(from: url.range(of: "?v=")!.upperBound) 
1

你可以按照這個例子

let url = ___Your_URL_HERE____ 
    let path = String(contentsOf: url) 
    let startIndex = path.index(path.startIndex, offsetBy: 32) //32 because 'https://www.youtube.com/watch?v=' is fixed from youtube 
    let videoid = path.substring(from: startIndex) 
    print(videoid) 
+0

它顯示錯誤爲「類型的值 'URL' 沒有成員'索引'「。我該如何解決這個問題? @ Umesh Verma – Tamannah

+0

如果你有url,那麼先將它轉換爲字符串。檢查我更新的答案 –

0

您可以通過分開URL字符串「? v =「這對任何YouTube視頻都很常見。

let path = URL(string: "https://www.youtube.com/watch?v=iTcq6L-PaDQ") 
let url = path!.absoluteString 
let array = url.components(separatedBy: "?v=") 
let id = array[1] 
NSLog("video id: %@.", id) 
+0

它顯示錯誤爲「值的類型'URL'沒有成員」組件「。我怎樣才能解決這個問題?@ Rahul Kumar – Tamannah

+0

轉換URL類型爲String,使用URL.absoluteString,你可以得到String鍵入 –

+0

編輯了上面的代碼 –

1

URLComponents/URLQueryItem

if let urlComponents = URLComponents(string:"https://www.youtube.com/watch?v=iTcq6L-PaDQ"), 
    let queryItem = urlComponents.queryItems?.first(where: {$0.name == "v"}) { 
    print(queryItem.value!) 
} 

或作爲功能

func queryValue(for name : String, of url: URL) -> String? 
{ 
    guard let urlComponents = URLComponents(url:url, resolvingAgainstBaseURL:false), 
     let queryItem = urlComponents.queryItems?.first(where: {$0.name == name}) else { return nil } 
    return queryItem.value 
} 

queryValue(for: "v", of: URL(string:"https://www.youtube.com/watch?v=iTcq6L-PaDQ")!)