【Power Automate for cloud】すぐ使える!文字列抽出フロー

Power Automate

好評だったPower Automateで文字列を抽出するフローを、コピペだけで利用できるようにしてみました。

Power AutomateでTeamsの投稿などから特定の文字列を抽出する

利用方法

下記の文字列をクリップボードにコピーします。

{"id":"1a570881-de89-489f-99f4-d432-df01e85d","brandColor":"#8C3900","connectionReferences":{},"connectorDisplayName":"制御","icon":"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZlcnNpb249IjEuMSIgdmlld0JveD0iMCAwIDMyIDMyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPg0KIDxwYXRoIGQ9Im0wIDBoMzJ2MzJoLTMyeiIgZmlsbD0iIzhDMzkwMCIvPg0KIDxwYXRoIGQ9Im04IDEwaDE2djEyaC0xNnptMTUgMTF2LTEwaC0xNHYxMHptLTItOHY2aC0xMHYtNnptLTEgNXYtNGgtOHY0eiIgZmlsbD0iI2ZmZiIvPg0KPC9zdmc+DQo=","isTrigger":false,"operationName":"文字列抽出","operationDefinition":{"type":"Scope","actions":{"抽出終了文字列(入力)":{"type":"Compose","inputs":"@null","runAfter":{"抽出開始文字列(入力)":["Succeeded"]},"description":"抽出対象文字の最後まで抽出する場合はnullを入力","metadata":{"operationMetadataId":"0de9c95e-f4f5-4631-ab4f-6c62eb5b6dab"}},"抽出対象文字(入力)":{"type":"Compose","inputs":" 吾輩は猫である。名前はまだ無い。\nどこで生れたか頓と見當がつかぬ。何でも薄暗いじめじめした所でニヤーニヤー泣いて居た事丈は記憶して居る。吾輩はこゝで始めて人間といふものを見た。然もあとで聞くとそれは書生といふ人間中で一番獰悪な種族であつたさうだ。此書生といふのは時々我々を捕へて煮て食ふといふ話である。然し其當時は何といふ考もなかつたから別段恐しいとも思はなかつた。","runAfter":{},"metadata":{"operationMetadataId":"054b2cf1-3a9b-4070-9120-355026a4f6eb"}},"抽出開始文字列(入力)":{"type":"Compose","inputs":"名前","runAfter":{"抽出対象文字(入力)":["Succeeded"]},"metadata":{"operationMetadataId":"092f1f6a-500b-4145-9154-71cd7735a78e"}},"抽出結果文字列(出力)":{"type":"Compose","inputs":"@if(\r\n    equals(outputs('抽出終了文字列(入力)'), null),\r\n    first(skip(\r\n        split(  \r\n            outputs('抽出対象文字(入力)'),\r\n            outputs('抽出開始文字列(入力)')\r\n        ),\r\n        1\r\n    )),\r\n    first(\r\n        split(\r\n            first(\r\n            skip(\r\n                split(\r\n                    outputs('抽出対象文字(入力)'),\r\n                    outputs('抽出開始文字列(入力)')\r\n                ),\r\n                1\r\n            )),\r\n            outputs('抽出終了文字列(入力)')\r\n        )\r\n    )\r\n)","runAfter":{"抽出終了文字列(入力)":["Succeeded"]},"metadata":{"operationMetadataId":"628259a9-585a-4ff8-a74a-520ed8b2b84c"}}},"runAfter":{},"metadata":{"operationMetadataId":"8f1a2d47-6b30-48b6-937f-b373b2573406"}}}

その状態で、利用したいフローで新しいステップ→自分のクリップボードをクリックします。

この画面でペーストします。

すると文字列抽出がペーストされますので、クリックします。

(入力)と書いてあるアクションにのみ名前に従って入力してください。

抽出結果を取得するには、動的なコンテンツ→抽出結果文字列(出力)を選択します。

実際に使ってみた

以下の文を抽出対象文字列として入力します。

吾輩は猫である。名前はまだ無い。
どこで生れたか頓と見當がつかぬ。何でも薄暗いじめじめした所でニヤーニヤー泣いて居た事丈は記憶して居る。吾輩はこゝで始めて人間といふものを見た。然もあとで聞くとそれは書生といふ人間中で一番獰悪な種族であつたさうだ。此書生といふのは時々我々を捕へて煮て食ふといふ話である。然し其當時は何といふ考もなかつたから別段恐しいとも思はなかつた。

抽出終了文字がある場合

抽出開始文字列に猫、抽出終了文字列に吾輩を入力します。

実行すると、一番最初の猫から吾輩までの文字列が抜き出されました。

抽出終了文字が無い場合

抽出開始文字列に別段抽出終了文字列にnullを数式(fx)から入力します。

別段から文字列の最後までが抜き出されました。

コメント

タイトルとURLをコピーしました