我有这样的字符串,其中 \/
应该是字符串值的一部分。
["medium-video\/mp4",
"hd720-video\/mp4",
"medium-video\/webm",
"small-video\/3gpp"]
Swift 提示反斜杠。我试过 \\/
,但是当尝试使用它们时,字符串有 \\/
而不是 \/
。不确定如何解决这个问题。
如果我使用双反斜杠打印数组,它们只会出现在字符串中,而不是我期望的 \/
。
["medium-video\\/mp4", "hd720-video\\/mp4", "medium-video\\/webm", "small-video\\/3gpp"]
最佳答案
(假设我期待的“/”。) 似乎是错误的假设。只是作为历史保留在这里...
只需将 \/
替换为 /
。
每种语言都定义了它的有效转义序列,在 Swift 中(或在标准 C 中)\/
不是有效的转义序列,斜线不能被转义。
(在 JSON 中,\/
是有效的,但您无需转义斜杠。)
无论如何,在 Swift 中:
["medium-video/mp4",
"hd720-video/mp4",
"medium-video/webm",
"small-video/3gpp"]
假设 \/
我期待。您已经有了正确的答案。
["medium-video\\/mp4",
"hd720-video\\/mp4",
"medium-video\\/webm",
"small-video\\/3gpp"]
我猜,您弄错的一件事是您如何确认字符串数组的内容。
let arr = ["medium-video\\/mp4",
"hd720-video\\/mp4",
"medium-video\\/webm",
"small-video\\/3gpp"]
print(arr)
["medium-video\\/mp4", "hd720-video\\/mp4", "medium-video\\/webm", "small-video\\/3gpp"]
上面的方法可能不是一个好方法,因为 Swift 使用调试符号来打印 Array 的内容。要检查字符串数组中的实际内容,请试试这个。
arr.forEach {print($0)}
medium-video\/mp4 hd720-video\/mp4 medium-video\/webm small-video\/3gpp
关于swift - 在 Swift 字符串文字中转义反斜杠,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45393504/