如何逃出%符号斯威夫特字符串
我知道我可以只用urlencode,但我将如何做到这一点:如何逃出%符号斯威夫特字符串
let strReturn = String(strToConvert.characters.map {
$0 == " " ? "%20" : $0
})
我这样做,我得到的“结果值时,‘:’表达了不匹配的类型“字符串”和“字””
相同的,如果我添加‘%% 20’
这是确定的,如果你只是做这个练习。对于产品代码,转义URL字符串的最佳方法是在URLComponents
结构中。
现在到你的问题......问题是你的关闭的返回类型:"%20"
是String
,$0
是Character
。 Swift不知道如何推断类型。
它改成这样:
let strReturn = strToConvert.characters.map {
$0 == " " ? "%20" : String($0)
}.joined(separator: "")
啊,谢谢,我靠近了自己,没有接触到加入的部分。只是要清楚,会加入(分隔符:“”)总会产生一个字符串? – PruitIgoe
是的,这是[文档](https://developer.apple.com/documentation/swift/array/1688227-加入) –
传递一个空字符串,因为分隔符是多余的。只需使用'.joined()' –
你在这个方向走太深之前,它是什么,你要完成?转义字符串使其成为有效的URL? –
是的,它比其他任何东西都更适合我自己的运动。 – PruitIgoe