我希望将\/
和\
字符替换为/
。因此我使用了字符串的replacingOccurrences
函数,但它生成错误为“文字中的无效转义序列”。下面是我的字符串,以及replacementOccurrence函数。另外,我附上了相同的帮助
var str = "http:\/\/colesi.com\/exapp\/upload.png"
let ans = str.replacingOccurrences(of: "\/", with: "/")
let ansq = str.replacingOccurrences(of: "\", with: "")
答案 0 :(得分:3)
您需要了解\
的用途,它用于转义特殊字符,例如字符串中的"
。你不能写let str = " " "
但你需要写let str = " \" "
。由于\
被特别处理,因此在尝试按字面意思编写它时需要将其转义:let str = " \\ "
而不是let str = " \ "
。 /
本身并非“无法逃脱”,\/
并不代表任何内容,也无效。
这意味着在您的特定情况下,所有三个显示的行都是无效的。它应该是
var str = "http:\\/\\/colesi.com\\/exapp\\/upload.png"
或
var str = "http://colesi.com/exapp/upload.png"
开头。在第二种情况下,你不需要做任何事情。
在第一种情况下你需要做
let ans = str.replacingOccurrences(of: "\\", with: "")
我在这里说:我认为你从某处复制了那个网址,它已经以一些的方式进行了转移,并试图抵消这种情况,你很可能没有需要这样做。