もう一人のY君

iPhoneアプリのレビューやアップデートレビューなどを書いています. たまに数学の記事も書きます.

もう一人のY君 MENU  MENU

【iPhoneショートカット】指定ワードを含む行の次行を取得する【実践】

f:id:thetheorier:20210625082937p:plain

 先日投稿した, 指定ワードを含む行の次行を取得するアイデアを実際に応用します.

 

 

ショートカット

ショートカット

  • Apple
  • 仕事効率化
  • 無料

※価格は記事執筆時のものです. 現在の価格はApp Storeから確認ください.

 レビュー時のiOSバージョン : iOS14.6

 

 

スポンサーリンク

 

 

 

結果を得るためのアイデア

blog.thetheorier.com

 今回は別投稿である, iOS14のURLスキームの記事を使ってみます.

 

 

f:id:thetheorier:20210625083011p:plain

 「Webの内容を取得」で記事の内容を得ると, 画像のような状態(全体の一部)になっています.

 項目に相当する行の次の行が必ずURLスキームとなっているため, 先日のアイデアが使えます.

 

 ただ前回の投稿と異なる点は, 検索するワードによって項目数が複数になりうるということです, そこだけ工夫する必要があります.

 

 

フロー

f:id:thetheorier:20210625083627p:plain

 今回は一部端折ってあります(赤枠部分).

 実際にはURLを指定してそれを「Webの内容を取得」で取り出します.

 このままだとそのページのヘッダやフッタなどにある余計な部分も含んでいます.

 問題ない場合もありますがこの後キーワード検索する上で必要な項目に被るものを含んでいる場合は適用な箇所で「テキストを分割」を使って分割し, 必要な場所のみ「リストから項目を取得」で取り出し, これを使います.

 こうして取り出した内容を「テキストを分割」で改行によって分割します, 今回はこれをtxtという名前の変数に設定しました.

 

 

f:id:thetheorier:20210625084150p:plain

 次に「入力を要求」で検索ワードを入力させます.

 さらに先程の変数txtに対して「ファイルにフィルタを適用」アクションを適用します.

 フィルタを一つ追加し,

 

名前 - 次を含む - 指定入力(上の「入力を要求」アクション)

 

とします.

 並び順序や制限は好みで変更します.

 この結果を「リストから選択」で一つ選ばせます.

 これで「入力を要求」で打った文字列を含む行が一つ選ばれたことになります.

 

 

f:id:thetheorier:20210625084708p:plain

 次に「一致したテキスト」アクションを追加し, 中身を

 

選択した項目\n.*

 

とします(画像では 選択した項目.*\n.* になっていますが左側の .* は不要でした), これで選択した行とその次行の2行が選ばれているはずです.

 なので「テキストを分割」で改行によって分割し, 「リストから項目を取得」で最後の行を取得します.

 これで必要な項目, URLスキームが得られたはずです.

 

 

f:id:thetheorier:20210625085701p:plain

 実際に動かしてみるとちゃんと記事上に表記されたURLスキームを取得できています.

 

 

 実際には目的のデータが一つとは限らないため, このやり方が任意のサイトで100%通用するとは限りません.

 実際今回使ったURLスキームの記事にしても, 一部の項目は2種類以上あるためこれでは一つしかわかりません.

 

 そのため場合によってはもう一行多めに取得して処理するなど, もう一歩踏み込んだ工夫が必要となります.