みなさんはWorkflowでレシピを作る時、文字列操作が不便だと感じたことはないですか?
Workflowは色んなアクションが用意されてて、簡単に自動化プログラムが作れるので便利ですが、文字列操作はアクションが豊富とは言えません。
例えば、javascriptでよく使うsubstr等の文字列抽出をするアクションがありません。
「ある文字列の3番目の文字から5文字を抽出」
みたいなやつです。
これをレシピ中に何度もやろうとすると煩雑になるし、レシピが長くなって見にくくなってしまいます。
それに同じことを繰り返すのが面倒くさいし大変です。(><)
そこで今回、Workflowで使えるsubstrを作ってみたので、使い方も合わせて紹介します。
以下のリンクからレシピをインポートして下さい。
※コピーしないでも文字列抽出結果が渡せることがわかっかのでレシピを最新版に差し替えました 17/4/1
▼レシピの最初に使い方のコメントがあります。
詳細
開始位置(0〜)
文字数
の形式で本レシピに文字列を渡すと、指定した開始位置(0は1文字目)から指定文字数の文字列を抽出してコピーします。
改行も1文字に数えます。
また、文字数を0以下にすると、開始位置から末尾までの文字列を抽出します。
呼び出し元のレシピでは
RunWorkflowでsubstrを指定したあと、GetClipboardで受け取って下さい。
元のテキストに対して、抽出したい開始位置と文字数を改行で付加したテキスト(文字数の後は改行しないで下さい。)をsubstrに渡して下さい。
substrで抽出された文字列はクリップボードにコピーされるので、substrの呼び出し元のレシピでGetClipboardを使って受け取って下さい。
尚、文字数を0以下にすると、開始位置から末尾までの文字列を抽出します。
使用例
▼以下の場合は
▼このようになります。
解説
改行も1文字に数えます。
また、0から数えるので、開始位置=14は改行含めて15文字目の「す」になります。
文字数=0なので、末尾まで(開始位置指定の前まで)になります。
従って、「す」から末尾の「の」までが抽出されることになります。
▼もし開始位置と指定文字数の和がテキストの文字数を超える場合は、以下のアラートが出るので文字数を確認して下さい。
また、javascriptの本当のsubstrは開始位置にマイナスの指定もできます(末尾からの指定になる)が、本レシピは出来ません。ご了承下さい。m(_ _)m
今回デバッグに使ったレシピは以下になります。弄ってみて試してみて下さい。
※こちらも最新版に差し替えました 17/4/1
happyChappy(@happyChappy1115)でした。
Sponsored Link
Posted from するぷろ for iOS.
ピンバック: 今聴いてる曲をツイートしたり、メールやLINEに送ったりブログに挿入できるSongTweetのプレビュー版を作ってみた。 | happyChappyBlog