gpt4 book ai didi

swift - 在 Swift 字符串文字中转义反斜杠

转载 作者:行者123 更新时间:2023-11-28 10:52:34 24 4
gpt4 key购买 nike

我有这样的字符串,其中 \/ 应该是字符串值的一部分。

["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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com