Как поместить двойные кавычки в строку Swift

Я пишу некоторые коды, которые имеют дело со строкой с двойной кавычкой в Swift. Вот что я сделал до сих пор:

func someMethod {
    let string = "String with "Double Quotes""
    dealWithString(string)
}

func dealWithString(input: String) {
    // I placed a breakpoint here.
}

когда я запускаю коды, точка останова останавливается там, как обычно, но когда я ввожу следующее в отладчик:

print input

вот что я получил:

(String) $R0 = "String with "Double Quotes""

я получил эту строку с обратной косой черты. Но если я попытаюсь удалить обратные косые черты из источника, это даст мне ошибку компиляции. Есть ли обходной путь для этого?

1 ответов


вы все делаете правильно. Обратная косая черта используется как escape-символ для вставки двойных кавычек в строку Swift точно так, как вы ее используете.

вопрос-это отладчик. Вместо того, чтобы печатать фактическое значение строки, он печатает значение как строковый литерал, т. е. заключенный в двойные кавычки, со всеми специальными символами, правильно экранированными.

Если вы используете print(input) в вашем коде вы увидите строку, которую ожидаете, т. е. с escape символы расширены, и вокруг них нет двойных кавычек.