我正在尝试创建以下字符串:“{date:'1511764435091'}”
但是swift会像这样自动输入反斜杠:“{date:\'1511764435091 \'}”
搜索网络,现在我正在执行以下操作,但它不起作用:
let string = "{ date: '1511764435091' }"
var editedString = string.replacingOccurrences(of: "\\", with: "")
打印时,这就是我得到的:
(lldb) po string
"{ date: \'1511764435091\' }"
(lldb) po editedString
"{ date: \'1511764435091\' }"
任何帮助?
答案 0 :(得分:1)
来自docs
字符串文字中的特殊字符
字符串文字可包含以下特殊字符:
- 转义的特殊字符\ 0(空字符),\(反斜杠), \ t(水平标签),\ n(换行),\ r \ n(回车),\“(双 引用)和\'(单引号)
很明显,'
是一个转义字符。请看下面的代码
let string1 = "{date: '1511764435091' }"
let string2 = "{date: \'1511764435091\' }"
print("\(string1)")
print("\(string2)")
if string1 == string2 {
print("Both are equal")
}
控制台o / p
{date: '1511764435091' }
{date: '1511764435091' }
Both are equal
因此,您无需担心\
之前'
为什么会出现'
为什么编译器没有抱怨要在let string = "{ date: '1511764435091' }"
中转义引用{{1}}是一个问题。可能是苹果想要缓解我们的生活,不知道。
虽然lldb显示报价已转义,即使您没有在代码中转义。