デスクワークを超絶快適にするおすすめギアたち

Power Automate for Desktopの「テキストの解析」アクションについて

Power Automate for Desktopの「テキストの解析」アクションについて

【当サイトはプロモーションを含んでいます】

以前、別の記事でPower Automate for Desktop(以下:PAD)を使って事前定義済みのパターンでパターン検索を行う方法について紹介しました。

上の記事で紹介した「エンティティをテキストで認識する」アクションは、電話番号・URL・金額・メールアドレスなどを超簡単に抽出することができる反面、自分でカスタマイズしたパターンで文字列抽出することができません。

この記事では正規表現を使って、より柔軟なテキスト検索を行う方法について解説します。

目次

要件

下図は、北海道の郵便番号がリストされたテキストファイルの中身(一部抜粋)です。地域ID、住所、郵便番号が記載されたテキストファイルから、Power Automate for Desktopを使って郵便番号を抽出したいと思います。

こちらの情報は日本郵便からお借りしました。

必要なアクションは?(テキストの解析アクション)

今回、郵便番号を抽出するために「テキストの解析」アクションを使用します。テキストの解析アクションのドキュメントを見ると下記のように説明があります。

テキストを解析して、指定されたサブテキストまたは正規表現パターンの最初の出現箇所またはすべての出現箇所を検索します。

テキストの解析アクション https://docs.microsoft.com/ja-jp/power-automate/desktop-flows/actions-reference/text#parse-text

かみ砕いて説明すると「テキストの解析」アクションには下記の2つのパターンの使い方があります。

テキストの解析アクションの役割

  1. 文章の中から、指定したキーワードを検索して、キーワードが何文字目に位置するかを数字で返す。
  2. 文章の中から、指定したパターンで検索して、パターンにマッチした文字列を返す。さらにマッチした文字列が何文字目に位置するかも数字で返す。(正規表現)

今回、郵便番号の抽出には上記の2つ目の使い方で「テキストの解析」アクションを実装します。パターン検索には正規表現というしくみの知識が必要です。

正規表現とは?

正規表現とは、正規表現特有の記号を組み合わせて、検索する文字列のパターンを表現できる仕組みです。

正規表現クイックリファレンス
https://docs.microsoft.com/ja-jp/dotnet/standard/base-types/regular-expression-language-quick-reference

.NETの正規表現のしくみ
https://docs.microsoft.com/ja-jp/dotnet/standard/base-types/regular-expressions

たとえば、郵便番号を正規表現で表現すると下記のようになります。

[0-9]{3}-[0-9]{4}

ざっくりと解説すると、[0-9]は0~9の文字列つまり数字、{3}は直前の文字が3回連続する、つまり数字が3回連続する、そのあとにハイフンがあって、次にまた数字が4回続くよ。という意味です。このような形で正規表現を知っていると規則性のある文字列を柔軟に表現できるようになります。

正規表現を簡単に理解する方法

正規表現の解説をすると長くなってしまうのでこの記事では解説は省略させていただきます。

正規表現を0から習得するには?

正規表現を0から学ぶにはUdemy動画講座がオススメです。Udemyの正規表現をテーマにした動画講座は3つ受講しましたが、その中でも下記の講座が一番わかりやすかったです。

正規表現入門 作業効率アップに役立つ38個の方法

購入される場合は、Udemyは頻繁にセールを開催しますので講座をお気に入りに登録しておき、セール時に購入することをオススメします。

正規表現を0から習得するには?

正規表現を0から学ぶにはUdemy動画講座がオススメです。Udemyの正規表現をテーマにした動画講座は3つ受講しましたが、その中でも下記の講座が一番わかりやすかったです。

正規表現入門 作業効率アップに役立つ38個の方法

購入される場合は、Udemyは頻繁にセールを開催しますので講座をお気に入りに登録しておき、セール時に購入することをオススメします。

Power Automate for Desktopのフローを作成します。

文字列抽出するテキストファイルを用意します。

ターゲットとなるテキストファイルを用意しておきます。下記の文章を張り付けてデスクトップ上に保存しました。

保存場所:
C:\Users\user\Desktop\郵便番号.txt

bc西区
にしく

コ 琴似 一条 063-0811
ID=522
〃 二条 063-0812
ID=523
〃 三条 063-0813
ID=524
〃 四条 063-0814
ID=525
小別沢 063-0011
ID=526
ニ 西 野 063-0049
ID=527
西野 一条 063-0031
ID=528
〃 二条 063-0032
ID=529
〃 三条 063-0033
ID=530
〃 四条 063-0034

Power Automate for Desktopフローを作成します。

STEP
Power Automate for Desktopの新規フローを作成します。

STEP

補足:知っておくと詰まらないポイント

出力される変数は4種類あります

「テキストの解析」アクションが作る変数は、「最初の出現のみ」のオン・オフで単数形と複数形が入れ替わります。オンなら Position(見つかった位置)と Match(一致した文字列)、オフなら Positions と Matches がリストで返ります。

見つからなかったときの Position の値は -1 です。0ではありません。後続で位置を使う場合は、-1のときの分岐を用意しておくとフローが止まりません。

正規表現の書き方は「.NET」に従います

Microsoft の公式ドキュメントには「Power Automate の正規表現エンジンは .NET です」とはっきり書かれています。つまり、書き方に迷ったら .NET の正規表現リファレンスを見るのが正解です。

名前付きグループ (?<name>...)、先読み (?=...)、Unicodeプロパティ \p{...} といった .NET の記法が使えます。JavaScriptやPHPの正規表現の記事を参考にすると、微妙に通らないことがあるので注意してください。

なお、正規表現が使えるアクションは「テキストの解析」だけではありません。「テキストの分割」の「正規表現である」、「テキストを置換する」の「検索と置換には正規表現を使用する」でも同じように使えます。記号をそのまま検索したいときのために「正規表現のエスケープ テキスト」というアクションも用意されています。

クラウドフロー(Web版)では正規表現は使えません

よくある勘違いですが、正規表現が使えるのはデスクトップ版(PAD)だけです。ブラウザで作るクラウドフローの式には、2026年8月時点でも正規表現の関数が存在しません。

クラウドフロー側で似たことをやりたい場合は、indexOf substring slice split replace を組み合わせるか、この記事のようにPADのフローを呼び出す形になります。

まとめ

じょじお

この記事では「テキストの解析」アクションについて解説しました。

ぽこがみさま

このブログではRPA・ノーコードツール・VBA/GAS/Pythonを使った業務効率化などについて発信しています。
参考になりましたらブックマーク登録お願いします!

Power Automate学習教材

Power AutomateをKindleで学びたい方はコチラ

▲Kindleと紙媒体両方提供されています。デスクトップフロー、クラウドフロー両方の解説がある書籍です。解説の割合としてはデスクトップフロー7割・クラウドフロー3割程度の比率となっています。両者の概要をざっくり理解するのにオススメです。

▲Power Automate for Desktopの基本をしっかり学習するのにオススメです。この本の一番のメリットはデモWebシステム・デモ業務アプリを実際に使ってハンズオン形式で学習できる点です。本と同じシステム・アプリを使って学習できるので、本と自分の環境の違いによる「よく分からないエラー」で無駄に躓いて挫折してしまう可能性が低いです。この点でPower Automate for desktopの一冊目のテキストとしてオススメします。著者は日本屈指のRPAエンジニア集団である『ロボ研』さんです。

▲Power Automate クラウドフローの入門書です。初心者の方には図解も多く一番わかりやすいかと個人的に思っています。

Microsoft 365/ Power Automate / Power Platform / Google Apps Script…

Power Automateを動画で学びたい方はコチラ

▲Udemyで数少ないPower Automateクラウドフローを主題にした講座です。セール時は90%OFF(1200円~2000円弱)の価格になります。頻繁にセールを実施しているので絶対にセール時に購入してくださいね。満足がいかなければ返金保証制度がありますので安心してご購入いただけます。

スポンサーリンク
お役に立てたらシェアお願いします!
  • URLをコピーしました!
  • URLをコピーしました!
目次