从字符串中删除反斜杠不起作用

时间:2017-11-27 07:00:57

标签: swift string

我正在尝试创建以下字符串:“{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\' }"

任何帮助?

1 个答案:

答案 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显示报价已转义,即使您没有在代码中转义。