Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Swift - Replace Character in String [duplicate]

I have variable which contents the symbol or character I don't know how you say on this "\" in english... How to replace all \ with empty space in my variable ?

var content = theContent["content"] as String
self.contentLabel.text = content.stringByReplacingOccurrencesOfString(<#target: String#>, withString: <#String#>, options: <#NSStringCompareOptions#>, range: <#Range<String.Index>?#>)

How to fill this spaces or my sintax is wrong when I use content.string... and then in #target I use the same string ? Anyone who learned Swift so fast? :D

like image 767
Bogdan Bogdanov Avatar asked Jul 02 '14 10:07

Bogdan Bogdanov


2 Answers

Use the following

self.contentLabel.text = content.stringByReplacingOccurrencesOfString("\\", withString: " ", options: NSStringCompareOptions.LiteralSearch, range: nil)
like image 123
nicael Avatar answered Oct 15 '22 14:10

nicael


If you want to write this in pure Swift, try:

self.contentLabel.text = Array(myString).reduce("") { $1 == "\\" ? $0 : "\($0)\($1)" }

This is a short hand way of writing:

Array(myString).reduce("", combine: { (inputString, character) -> String in
    if character == "\\" {
        return inputString
    } else {
        return "\(inputString)\(character)"
    }
})

This converts myString to an Array of Characters, then uses the reduce function to append them back together into a String, but substituting an empty string in place of backslashes

like image 43
Ashley Mills Avatar answered Oct 15 '22 15:10

Ashley Mills