Power Automate Desktop(PAD)の「テキストの解析」アクションは、「解析するテキスト」から「検索するテキスト」を探して、それがどこにあるかを調べるものです。
しかし、正規表現を使うともっと高度なことができます。
やりたいこと
例えば次のような文字列があったとします。
【郵便番号】100-0014
【住所】東京都千代田区永田町
【名称】国会議事堂
【竣工】1936年11月7日
ここから住所だけを抽出したいとします。
方法
「ファイルからテキストを読み取る」アクション
ファイルパス→テキストのファイルパス。
内容の保存方法→単一のテキスト値
エンコード→ファイルに合わせたエンコード。
生成された変数→FileContents
「テキストの解析」アクション
解析するテキスト→%FileContents%
検索するテキスト→(?<=【住所】).*
正規表現である→オン
解析の開始位置→0
最初の出現箇所のみ→オン
生成された変数→Position, Match
これにより「【住所】」の右にある「東京都千代田区永田町」がMatchに格納され、取得できます。
解説
正規表現を使うのがポイントです。
PADで使える正規表現についてはマイクロソフトのサイトに説明があります。
正規表現言語 - クイック リファレンス - .NET
このクイック リファレンスでは、正規表現パターンを使用して入力テキストを照合する方法について説明します。 パターンには、1 個以上の文字リテラル、演算子、またはコンストラクトが含まれます。
「テキストの解析」アクションは、正規表現をオンにすると、Positionの他にMatchも返します。
このMatchは正規表現に一致した文字列を返すので、今回のように条件に合った文字列を取得するのに使えます。
また今回は「肯定後読み」というのを使っています。「あるパターンの後にある文字列」を取得できます。
他に「肯定先読み」「否定先読み」「否定後読み」があります。
詳しくは上述のマイクロソフトのサイトを確認ください。
コメント