Questa risposta è stata aggiornamento per Swift 3. Se stai ancora utilizzando Swift 1 o 2, consulta la cronologia delle revisioni.
Hai un paio di opzioni. Si può fare come suggerito @jaumard e utilizzare replacingOccurrences()
let aString = "This is my string"
let newString = aString.replacingOccurrences(of: " ", with: "+", options: .literal, range: nil)
E come ha osservato @cprcrack seguito, i parametri options
e range
sono opzionali, quindi se non si desidera specificare le opzioni di confronto di stringa o un intervallo di fare la sostituzione all'interno, è necessario solo il seguente.
let aString = "This is my string"
let newString = aString.replacingOccurrences(of: " ", with: "+")
Oppure, se i dati sono in un formato specifico come questo, dove si sta solo sostituendo i caratteri di separazione, è possibile utilizzare components()
per rompere la stringa in e la matrice, e quindi è possibile utilizzare la funzione di join()
rimettili insieme con un separatore specificato.
let toArray = aString.components(separatedBy: " ")
let backToString = toArray.joined(separator: "+")
Oppure, se siete alla ricerca di una soluzione più Swifty che non utilizza API da NSString, si potrebbe usare questo.
let aString = "Some search text"
let replaced = String(aString.characters.map {
$0 == " " ? "+" : $0
})
fonte
2014-06-13 08:45:56
[Swift Extension] (http://stackoverflow.com/a/39841550/1634890) –