在代码下面使用空格分隔字符串组件:
let string = "ABC DEF"
let arrayString = string.components(separatedBy: " ")
并获得正确的输出["ABC", "DEF"]
。
当字符串包含双引号时会出现问题。添加了textfield
中的文字,并直接使用textfield
的文字将其与空格分开。
textfield中的字符串为Add sfc""
,并使用相同的代码将输出设为["add", "sfc\"\""]
有人可以帮助我在字符串包含双引号时添加\
的原因。我该怎么做才能删除它?
答案 0 :(得分:3)
打印字符串数组时会发生这种情况。
print(["", ""])
打印
["", ""]
数组包含两个都是空字符串的元素,而是打印两个引号字符 - ""
- 。这是因为如果字符串按字面打印出来:
[, ]
看起来不那么“好”。不太清楚有两个空字符串。
你可以这样想:
打印字符串数组就好像它们在您的代码中一样
这就是反斜杠的原因。想象一下,如果这是在您的代码中,您将如何编写表示字符串sfc""
的字符串文字?你会写"sfc\"\"""
,对吗?这就是印刷品。
反斜杠实际上并不存在,为了清晰起见,只是为了逃避字符串。
分别打印阵列的每个项目,你会发现它们已经消失了:
print(["", ""][0]) // prints nothing
答案 1 :(得分:2)