Power Automate for Desktop テキスト内に文字があるかないか?

PRA

Power Automateを利用していると、取得したデータ(テキスト)の中に、指定の文字列があるかなないか判断したい時があります。そんなときは、「テキストの解析」のアクションを利用します。

検索する文字列は、変数でも出来ますし、固定の文字列でも出来ます。
便利なのが、正規表現を利用した文字列の検索もできます。
順に追ってご説明します。

Power Automate for Desktopフローを作成方法

「テキストの解析」のアクションを選択し、ドラッグ&ドロップします。

「テキストの解析」で文字列を検索する

テキスト内に文字があるかないか?のアクションはないので、
「テキストの解析」で文字列を検索し、検索する文字列があれば、Returnに何番目に存在するかというところを利用します。検索する文字列がなければ、-1となります。1番目にあれば、0になります。

「テキストの解析」には、下記の設定値があります。

① 解析するテキスト ・・・ 大元のテキストになります。通常、変数(%Base%)を指定します。
② 検索するテキスト ・・・ 検索したいテキストや変数(%Keyword%)を指定します、
③ 正規表現である ・・・ 「検索するテキスト」に正規表現が利用できるようになります。
④ 解析の開始位置 ・・・ 0が「解析するテキスト」の1番目になります。
⑤ 生成された変数 ・・・ 実行した結果が入ります。検索するテキストがなければ-1となり、あれば、何番目かの数字が入ります。

<結果>
「検索するテキスト」は「Yahoo」で1番目です。実行すると、0と生成された変数のPositionに入ってきます。「Yaooo」で実行すると、その文字列は存在しませんのでPositionには-1が入ります。

文字列があるかないかの判断をする。

上記の「テキストの解析」を利用して、If文で判別することで、Keywordがあるかないかを判断します。

正規表現で検索キーワードを複数指定(OR)したり、AND条件したりする

検索するテキスト(検索キーワード)複数指定する場合、ORの要素を使いたい場合、正規表現では、パイプ(|)を利用します。下記のように指定します。

OR要素のパイプ(|)を利用した場合、下記のように複数ヒットします。
その場合、「最初の出現箇所のみ」をOFFにすることで、それぞれヒットした場所を配列で返します。

AND要素を使いたい場合。
下記のように設定します。
[キーワード1].*[キーワード2]
今回の場合、まず「日本」という文字列があって、何文字か後に「Yahoo」という文字列があるかという正規表現の記述方法になります。

その他の正規表現の方法

ORとANDを合わせて、下記のように記述できます。
([キーワード1]|[キーワード2]).*([キーワード3]|[キーワード4]|[キーワード5])

キーワードは、普通べた書きはせず、変数だと思いますので、下記のように記載します。
(%Var1%|%Var2%).*(%Var3%|%Var4%|%Var5%)

郵便番号があるかどうかは、下記になります。
[0-9]{3}-[0-9]{4} 
・・・ [0-9]は0~9の数字、{3}は直前の文字(数字)が3回連続する、そのあとにハイフンがあり、数字が4つ続くということになります。

携帯番号は下記のように表現されるかもしれません。
0[789]0-[0-9]{4}-[0-9]{4}

正規表現では、^は行頭、$ は行末にマッチしているかどうかに利用します。
正規表現についてはこちらでも学べます。

参考になる本

世界一やさしいPower Automate for desktop
世界一やさしいPower Automate for desktop
Bitly
https://amzn.to/3A4GDNC

コメント

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