我有一個YouTube視頻的網址。現在,我需要提取一個字符串並將其保存到一個變量中。在這裏,我需要從URL中提取videoid。這個鏈接是:如何從Swift 3中的URL中提取字符串?
https://www.youtube.com/watch?v=iTcq6L-PaDQ
現在,我需要提取iTcq6L-PaDQ
斯威夫特3.
我有一個YouTube視頻的網址。現在,我需要提取一個字符串並將其保存到一個變量中。在這裏,我需要從URL中提取videoid。這個鏈接是:如何從Swift 3中的URL中提取字符串?
https://www.youtube.com/watch?v=iTcq6L-PaDQ
現在,我需要提取iTcq6L-PaDQ
斯威夫特3.
雨燕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)
你可以按照這個例子
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)
它顯示錯誤爲「類型的值 'URL' 沒有成員'索引'「。我該如何解決這個問題? @ Umesh Verma – Tamannah
如果你有url,那麼先將它轉換爲字符串。檢查我更新的答案 –
您可以通過分開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)
它顯示錯誤爲「值的類型'URL'沒有成員」組件「。我怎樣才能解決這個問題?@ Rahul Kumar – Tamannah
轉換URL類型爲String,使用URL.absoluteString,你可以得到String鍵入 –
編輯了上面的代碼 –
與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")!)
字符串現代溶液( 「你的URL」) –