見出し画像

iOS ショートカット 研究記録

この記事では、iPhoneやiPadで利用できる「ショートカット」を作成するときに悩んだポイントの中から、再利用性のありそうなものについて、備忘録的にまとめています。
元々はもっとTips的に、少しの改変ですぐに使えるサンプル集のようなものを想定していましたが、実際にはより粒度の小さい動作をまとめたものになっています。

なおこちらの記事はガチのメモなので、随時更新していくつもりです。


URLからWebページをHTMLのまま取得してテキストとして扱う

通常、URLを指定してHTTPリクエストが送れる「URLの内容を取得」アクションをWebページに対して実行すると、取得できるものは「リッチテキスト」です。

実際にメールの本文として添付することで、リッチテキストであることが確認できます。

しかし、スクレイピングなどをしたい場合など、HTMLのまま扱いたいシチュエーションもそれなりにあります。
そこで、「リッチテキストからHTMLを作成」というアクションを使用します。

リッチテキストに変換された時点で情報が欠落しているかと思いきや、Headタグやインラインで記述されたScriptも含めてすべて取れるので、かなり使えます。

SafariのWebページに対して実行したJavaScriptからショートカットにデータを渡す

「WebページでJavaScriptを実行」アクションで、completion関数の引数に渡したい値をセットすると渡せます。

文字列が正規表現パターンに一致するかを判定

「一致するテキスト」アクションで正規表現にマッチする文字列を拾えるので、その結果をif文に渡します。

Unicodeエスケープシーケンス(\uxxxx)を含む文字列を元の文字列にもどす

「入力から辞書を取得」アクションがJSONを解釈できるので、それを利用します。
あらかじめ「テキスト」アクションでアンエスケープしたい文字列含めたJSONを作成します。このとき、「"」を「\"」に「テキストを置き換え」アクションでエスケープしておくことで、「"」を含む文字列に対しても正常に動作するようにします。
このJSONから「入力から辞書を取得」アクションで辞書を作成し、「辞書の値を取得」アクションでアンエスケープされた元の文字列を取得します。

いいなと思ったら応援しよう!