はじめに
Xcode6での正規表現をつかった置換作業をしていたら
(.*):グループ化した文字列
で文字列がとれなかったので調べてみました。
\1から$1への変更
Xcode5時代の置換の仕方記事をみていたらどうも結果がおかしいので
調べたらXcode6くらいからリテラルに変更があったみたいです。
あまり使ってなかったので気にしてませんでした。
GAのv2→v3対応を例にします。
例)メソッドの書き換え
v2
id<GAITracker> tracker = [[GAI sharedInstance] defaultTracker];
[tracker sendView:@"Home Screen"];
↓
v3
// v3
id<GAITracker> tracker = [[GAI sharedInstance] defaultTracker];
// Set the screen name on the tracker so that it is used in all hits sent from this screen.
[tracker set:kGAIScreenName value:@"Home Screen"];
// Send a screenview.
[tracker send:[[GAIDictionaryBuilder createAppView] build]];
Find Navigatorを使う
入力時にはメモ帳などを開いて、下記の文字列をコピーして
設定するとわかりやすいです。
Xcode内の入力部で指定すると、改行をいれることが困難でした。
Replace All
でなくPreView
を使うと色々捗ります
対象
\[tracker sendView:@(.*)\];
置換結果
//\[[tracker sendView:@$1\];
\[tracker set:kGAIScreenName value:@$1\];
// Send a screenview.
\[tracker send:\[\[GAIDictionaryBuilder createAppView\] build\]\];
参考
さいごに
地味に変わってて気づかないところは他にもありそうです。