Swift: 正規表現を使って文字列を置き換える
Swiftでは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はその他に以下のようなオプションがあります。
NSLiteralSearch(正確な一致) NSCaseInsensitiveSearch(大文字小文字を無視) 面倒になったので詳しくはAPI Documentを