
はじめに
iPhoneのショートカットアプリにて、テキストの空行を削除したいけど、やり方がすぐに分からなかったので備忘録として残します!
今回は正規表現よる「テキストを置き換え」を利用したテキストの整形を行います。
前提
基本的に「^\n」で置換すれば、行頭の改行コードを全て置換できると思っていました。
しかし、iPhoneのショートカットアプリの場合は、文頭の改行コードしか置換してくれません。
つまり、1行目の空行しか置換してくれないのです。
メモ
正規表現にて「^」は行頭、「\n」は改行を表すよ!
解決方法
iOS環境で動作する多くの正規表現エンジンでは、デフォルトで「マルチラインモード」が有効ではないことが原因で、「^」が文全体の先頭にしか一致しないことがあるみたいです。
つまり、こちら側でマルチラインモードを有効にしてあげれば良いのです!
メモ
マルチラインモードは、正規表現で使われるモードの一つで、行ごとの先頭と末尾を認識するための設定です。これを有効にすると、正規表現の^(行の先頭を示す)と$(行の末尾を示す)が、文字列全体の先頭・末尾だけでなく、各行ごとの先頭と末尾に対応するようになります。
設定方法
1.「テキストを置き換え」アクションを選択
2. 置換したいテキストの「(?m)^\n」を「」(空)に置き換え
メモ
正規表現の中に(?m)
を入れると、その部分からマルチラインモードが有効になります。
3. オプションの正規表現の項目をオンにする!

おわりに
今回は、iPhoneのショートカットアプリにて、空行を削除する方法をご紹介しました。
方法としては1例なので、他にも良い方法があるかもしれません!
文頭や1行目のみしか正規表現が反映されないときは、マルチラインモードを有効化することは覚えといて損はなさそうですね!
コメント