Swift Replace Multiple Characters in String
Use replacingOccurrences along with a the String.CompareOptions.regularExpresion option.
Example (Swift 3):
var x = "<Hello, [play^ground+]>"let y = x.replacingOccurrences(of: "[\\[\\]^+<>]", with: "7", options: .regularExpression, range: nil)print(y)
Input characters which are to be replaced inside the square brackets like so [\\ Characters]
Output:
7Hello, 7play7ground777
I solved it based on the idea of Rosetta Code
extension String { func stringByRemovingAll(characters: [Character]) -> String { return String(self.characters.filter({ !characters.contains($0) })) } func stringByRemovingAll(subStrings: [String]) -> String { var resultString = self subStrings.map { resultString = resultString.stringByReplacingOccurrencesOfString($0, withString: "") } return resultString }}
Example:
let str = "Hello, stackoverflow"let chars: [Character] = ["a", "e", "i"]let myStrings = ["Hello", ", ", "overflow"]let newString = str.stringByRemovingAll(chars)let anotherString = str.stringByRemovingAll(myStrings)
Result, when printed:
newString: Hllo, stckovrflow
anotherString: stack
As @matt mentioned you are starting over with the same content
string. The stringByReplacingOccurrencesOfString method doesn't actually change anything in the original content
string. It returns to you a new string with the replacement changes while content
remains unchanged.
Something like this should work for you
let result1 = content.stringByReplacingOccurrencesOfString("<br /><br />", withString:"\r") let result2 = result1.stringByReplacingOccurrencesOfString(" ", withString:" ")textView.text = result2