如何通过 Swift 从 Google 搜索结果页面 URL 中提取搜索关键字?
我只是想在“&q=”之后得到刺痛,但我发现我需要考虑更复杂的情况,例如“https://www.google.co.jp/search?hl=ja&q=test#q=speedtest+%E4%BE%A1%E6%A0%BC&hl=ja&prmd=nsiv&tbs=qdr:d”
非常感谢您的建议。
更新: 根据 LEO 的建议,我这样说。
if let url = NSURL(string: urlStr){
var extractedQuery = ""
if let fragment = url.fragment {
extractedQuery = fragment
} else if let query = url.query{
extractedQuery = query
}
if let queryRange = extractedQuery.rangeOfString("&q="){
let queryStartIndex = queryRange.endIndex
let queryKeyword = extractedQuery.substringFromIndex(queryStartIndex)
print(queryKeyword)
}
}
最佳答案
您可以将字符串转换为 NSURL 并访问其查询和片段属性:
if let url = NSURL(string: "https://www.google.co.jp/search?hl=ja&q=test#q=speedtest+%E4%BE%A1%E6%A0%BC&hl=ja&prmd=nsiv&tbs=qdr:d"), query = url.query, fragment = url.fragment {
print(query) // "hl=ja&q=test\n"
print(fragment) // "q=speedtest+%E4%BE%A1%E6%A0%BC&hl=ja&prmd=nsiv&tbs=qdr:d\n"
}
关于ios - 如何通过 Swift 从 Google 搜索结果页面 URL 中提取搜索关键字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35658342/