18

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

0

2 Answers 2

27

Use the following

self.contentLabel.text = content.stringByReplacingOccurrencesOfString("\\", withString: " ", options: NSStringCompareOptions.LiteralSearch, range: nil)
Sign up to request clarification or add additional context in comments.

Comments

14

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

2 Comments

What do you mean pure swift? This looks intense. Can you explain whats going on in this example?
By pure Swift, I mean that it doesn't use any Foundation classes (NSString, for example) - updated my answer for clarity

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.