Swift Replace Multiple Characters in String

后端 未结 4 564
日久生厌
日久生厌 2021-02-05 13:07

Below is the following line of code I use to replace an HTML break tag with a carriage return. However, I have other HTML symbols that I need to replace and when I call this lin

4条回答
  •  Happy的楠姐
    2021-02-05 14:07

    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

提交回复
热议问题