Sto inviando espressioni regolari a CloudKit come valore di stringa e sembra non piacergli, sostituendo \\
per \
. Tuttavia, una volta ottenuto questo valore dalla mia app, mi piacerebbe ritrasmetterlo nella sua forma originale, con \\
anziché \
.Barra rovesciata di escape in Swift
Non so come gestire questo tipo di caratteri di escape in Swift perché non riesco nemmeno a impostare una stringa con un \
nel mio codice, ma sono ancora in grado di gestirli quando li ottengo da CloudKit. Ecco un esempio di stringa:
var onlyOneBackslash: String = valueFromCloudKit
print(onlyOneBackslash) // booking\.com
Come sfuggire il backslash per trasformare booking\.com
in booking\\.com
?
Cosa fare se si desidera che il "1 \ 2" valore a una variabile stringa? –
Se è necessario includere un "\" in una stringa, basta sfilarlo "\\". Vedere [Stringhe e caratteri] (https://developer.apple.com/library/prerelease/ios/documentation/Swift/Conceptual/Swift_Programming_Language/StringsAndCharacters.html#//apple_ref/doc/uid/TP40014097-CH7-ID285) e scorri fino a * Caratteri speciali in string letterali *. – zaph
Grazie per la risposta Zaph, in realtà il problema è che volevo inviare "\/Date (1310669017000) \ /" come parametro per qualche servizio web se fuggivo con \\ invierà quel parametro come "\\/Data (1310669017000) \\/"non" \/Data (1310669017000) \/". I thing escape funziona solo con print(). –