let ids = [String: [String]]
ids=%5B%4566abef1c-4462-4g62-bcc5-5ae10547104c%22,%20%1256efcf8c-6977-430d-b3ec-4ae80547101c%22%5D
附加并傳遞 url 引數后,回應結構中的回應失敗 -> 中添加了特殊符號[%%
https://baseUrl/endpoint?ids=4566abef1c-4462-4g62-bcc5-5ae10547104c,1256efcf8c-6977-430d-b3ec-4ae80547101c
如何從網址中洗掉 "]?
這里代碼:
let parms: [String: [String]]
let urlString = "\(baseUrl)/\(endpoint)"
Connector.requestSwiftyJson(
url: urlString,
requestType: .get,
withParams: parms,
loader: false
) { json, response, error in
uj5u.com熱心網友回復:
您可以在將引數傳遞給決議器之前通過調整引數來洗掉不需要的字符,例如:
let adaptedParams = params.reduce(into: [String: String]()) { $0[$1.key] = $1.value.joined(separator: ",") }
uj5u.com熱心網友回復:
“...如何"]從 url 中洗掉?”。嘗試這個:
let ids = "[E66abef1c-4462-4g62-bcc5-5ae10547104c", 56efcf8c-6977-430d-b3ec-4ae80547101c"]"
let cleanUrl = ids.replacingOccurrences(of: ""]", with: "")
print("\n---> cleanUrl: \(cleanUrl) \n")
您還可以使用以下方法洗掉所有百分比編碼:
if let cleanUrl = ids.replacingOccurrences(of: "[", with: "") // [
.replacingOccurrences(of: "]", with: "") // ]
.replacingOccurrences(of: """, with: "") // "
.removingPercentEncoding { // other encoding
print("\n---> cleanUrl: \(cleanUrl) \n")
}
uj5u.com熱心網友回復:
有一個 API 可以洗掉百分比編碼
let string = "ids=[E66abef1c-4462-4g62-bcc5-5ae10547104c", 56efcf8c-6977-430d-b3ec-4ae80547101c"]"
let cleanedString = string.removingPercentEncoding
但是,如果您需要提取 UUID,您可以使用正則運算式來完成
func extractUUID(from string : String) -> [String]
{
let pattern = "[0-9a-f]{10}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}"
let regex = try! NSRegularExpression(pattern: pattern)
let matches = regex.matches(in: string, range: NSRange(string.startIndex..., in: string))
return matches.map { match -> String in
let range = Range(match.range, in: string)!
return String(string[range])
}
}
let uuids = extractUUID(from: "ids=[E66abef1c-4462-4g62-bcc5-5ae10547104c", 56efcf8c-6977-430d-b3ec-4ae80547101c"]")
print(uuids)
注意:g第一個 UUID 中的 是無效字符
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/429694.html
