Swiftで正規表現を使って文字列を置き換える

カテゴリー:  Tech タグ:  osx programming swift xcode

Stringを使うと簡単に正規表現での文字列置換が可能になります。

String.stringByReplacingOccurrencesOfString(target, withString, options, range)を使用します。ここで、optionsにNSStringCompareOptions.RegularExpressionSearchを指定することで正規表現が有効となります。

以下の例は、sourceに入った文字列の前後の空白と削除し文字列の空白を1つにまとめるための処理が書かれています。

var destination : String = source.stringByReplacingOccurrencesOfString("^ +| +$", withString:"", options:NSStringCompareOptions.RegularExpressionSearch, range: nil)

destination = destination.stringByReplacingOccurrencesOfString(" +", withString: " ", options: NSStringCompareOptions.RegularExpressionSearch, range: nil)
println("[\(destination)]")

その他、NSStringCompareOptionsはその他に以下のようなオプションがあります。

  1. NSLiteralSearch(正確な一致)

  2. NSCaseInsensitiveSearch(大文字小文字を無視)

面倒になったので詳しくはAPI Documentを

コメント

Comments powered by Disqus