Как хранить \"> в строке Swift?

Я пытаюсь сохранить \"> в строке. Теоретически, "\\"должен печатать \, а"\"" печатает ". Однако, когда я пытаюсь печатать \ в строке, используя \, вывод становится двойным слэш:

var str = "\">" 
// ">
var str2 = "\\"
// \\ 
var str3 = "\\\">"
// \\">
var str4 = "\\">"
// escapes after quotation mark (error)

3 ответа

Решение

Ответ str3, Смотрите, например:

var str3 = "\\\">"
str3.characters.forEach {
    print($0)
}

\
"
>

Не важно что str3 сам выводит в Xcode, так как Xcode может решить, как отображать строки. Например, он решает отобразить экранирующий символ \, Это не отображает побег перед " потому что в детской площадке, например, внутренний " уже по-разному окрашен, что " что на самом деле разграничить строку:

Ваш str3 правильно. Например:

print("\\\">")

печатает желаемую последовательность:

\ ">

Возможно, вы путаете экранированный вывод, созданный Swift Playground, с реальной строкой. Если есть сомнения, попробуйте консоль:)

Вывод детской площадки неправильный (или я не понимаю). print() дает вам правильный вывод, хотя:

var str3 = "\\\">"  // Plaground output:  \\">
print(str3)

печатает: \">

Другие вопросы по тегам