正規表現で文字列を置き換える
文字列を処理する場合に必ず必要となってくるのは正規表現です。 正規表現をうまく使いこなせるようになったら置き換えることも容易いのですが、実際MacOSアプリで使う場合にコードを忘れてしまいがちです。 以下のテンプレがあれば色々な場面ですぐに使うことができるようになるかもしれません。
let myString:String = "hogehogefoo"
do {
// 検索する文字列を設定
let regex = try NSRegularExpression(pattern: "^hoge", options: .caseInsensitive)
// 置き換えを行う範囲の設定(ここではmyString全部)
let range = NSRange(location: 0, length: myString.count)
// 実際に置き換えを行う処理
let modString = regex.stringByReplacingMatches(in: myString,
options: [],
range: range,
withTemplate: "foo")
} catch {
print(error.localizedDescription)
}
[処理前] myString → hogehogefoo
[処理後] myString → foohogefoo
MacOS $ sw_vers;xcodebuild -version;swift --version
ProductName: macOS
ProductVersion: 11.4
BuildVersion: 20F71
Xcode 12.5.1
Build version 12E507
Apple Swift version 5.4.2 (swiftlang-1205.0.28.2 clang-1205.0.19.57)
Target: x86_64-apple-darwin20.5.0