2019年7月18日木曜日

文字列から文字を取り除く(Swift)

Swiftのインターネット上の日本語のコンテンツはやはり極端に少ないですね。使っている人がかなり少ないような気がします。

で、Swiftの文字列操作は、バージョンによってかなり変わってきているようで、インターネットで検索したものも、使えるものがなかったりします。

文字列から文字を取り除く方法も見つけづらかったですが、見つけることができました。

こんな感じでStringを拡張しないと簡単には操作できないようです。


extension String{
    func removeCharacters(from forbiddenChars: CharacterSet)-> String{
        let passed = self.unicodeScalars.filter {!forbiddenChars.contains($0)}
        return String(String.UnicodeScalarView(passed))
    }
    
    func removeCharacters(from: String) -> String{
        return removeCharacters(from: CharacterSet(charactersIn: from))
    }
}

Appleさんは、Swiftの文字列操作にもう少し基本的なメソッドを実装したほうがいいような気がします。

ちなみにここの引数名はfromじゃないだろ、という気もしないでもないですが、とりあえず動くのでこのままにしておきます・・

0 件のコメント: