6
4

More than 3 years have passed since last update.

文字列から半角、全角両方のスペースを削除するExtensionを考える

Posted at

はじめに

半角と全角の文字列が混合する配列の処理をしていたとき、各文字列からスペースを消そうとしたのですが、replacingOccurrences(of: " ", with: "")してあげただけでは当たり前ですが、全角スペースだと削除されずが残ってしまいます。

import Foundation

let array = ["あいうえ お", "abcd e"]

let fixArray = array.map { $0.replacingOccurrences(of: " ", with: "") }
//["あいうえ お", "abcde"]になる

途中まですっかりそれを見落としてたので、1回で両方削除できたら便利と思いString Extensionで作ってみよう思いました。

できたもの

import Foundation

private extension String {
    func removeWhitespace(){
        self.replacingOccurrences(of: "\u{0020}|\u{3000}", with: "", options: .regularExpression)
    }
}

let array = ["あいうえ お", "abcd e"]

let fixArray = array.map { $0.removeWhitespace() }
//["あいうえお", "abcde"]になった!!!

まとめ

もっとこうしたらいいよなどありましたらコメントいただけると幸いです。
ありがとうございました。
今年もよろしくお願いします(遅

6
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
4