とにかく動かすPower Automate - 正規表現編

Pocket

Power Automateは正規表現を使えます。
こうなると、もはやローコードとは言えませんが。
長い文章から特定の文字列を取り出したりするときに使えます。

正規表現を使う方法

◎変数の設定
BaseStr={"id":"15",
"氏名":"徳川慶喜",
"役職":"将軍"}

◎テキストを置換する
解析するテキスト=%BaseStr%
検索するテキスト=[\s\S]*"氏名":"(.*?)"[\s\S]*
検索と置換に正規表現を使う=オン
置き換え先のテキスト=$1
生成された変数→Replaced

◎メッセージを表示
表示するメッセージ=%Replaced%

実行結果
徳川慶喜

次のような文字列が与えられたとします。ここから氏名である徳川慶喜を取り出したいとします。
{"id":"15",
"氏名":"徳川慶喜",
"役職":"将軍"}
ここでは「正規表現を使った置換」で対応します。
Power Automateでは.Netと同じ正規表現が使えます。
正規表現で括弧で挟んだ部分は$1で表すことができるので、置換先のテキストとして$1を指定するとそれ以外の個所が削除されて必要な部分だけを取得することができます。
任意の文字列は.*で表せますが改行を含みません。改行を含む場合は[\w\W]*で表せます。

JSONとして処理する方法

番外編になりますが与えられた文字列がJSON形式の場合はもっと簡単です。

◎変数の設定
BaseStr={"id":"15",
"氏名":"徳川慶喜",
"役職":"将軍"}

◎JSONをカスタムオブジェクトに変換
JSON=%BaseStr%
生成された変数→JsonAsCustomObject

◎メッセージを表示
表示するメッセージ=%JsonAsCustomObject['氏名']%

元の文字列がJSON形式であったときしか使えませんが、JSONの場合はこんな方法があります。
JSONをカスタムオブジェクトに変換を使うと簡単に辞書型配列として取り扱えます。
あとはキーとして氏名を与えれば取得できます。

[ 2023年7月11日 | カテゴリー: マイクロソフト | タグ: , , ]

« | »

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

送信してください。


タグ

カテゴリー

最近の投稿

最近のコメント

固定ページ

アーカイブ

stabucky

写真

メタ情報