はじめに
※ 本記事は、Power Automate Desktopを初めて触った際の備忘録として記載しています。
Power Automate Desktop(以下 PAD)で
ユーザーの組織情報や部署名を文字列として取得するケースがあります。
例えば Azure AD や Microsoft Graph 由来の情報では、
部署階層が 半角スペース区切りの文字列 になっていることがあります。
営業本部 第一営業部 東京チーム
このような文字列を階層ごとに分割して扱いたいという場面があったため、
その対応内容をまとめます。
やり方
PAD 標準の 「テキストの分割」 アクションを使用します。
成功例
「テキストの分割」を以下のように設定しました。
- 分割するテキスト:任意の文字列
- 区切り記号の種類:カスタム
- カスタム区切り記号:\s+
- 正規表現である:ON
この設定により、半角スペースの数に依存せず文字列を分割できます。
正規表現 \s+ について
正規表現における \s+ は次の意味を持ちます。
-
\s:空白文字(半角スペース、タブなど) -
+:1文字以上の繰り返し
つまり、
- 半角スペースが1個でも
- 2個以上連続しても
ひとまとめの区切り文字として扱えるため、
空文字を含まない安定した分割結果が得られます。
失敗例
カスタム区切り記号を単純に " "(ダブルクォーテーションの中に半角スペース)で登録したところ、文字列は分割されず、元の文字列がそのまま出力されました。
※取得元が外部サービス(Graph 等)だったからかもしれません
おわりに
プログラム全般で、文字列を分割する場面は多いと思いますが、
PAD でも 見た目どおりに分割できないケースがある ことを学びました。
地味な内容ですが、同じような場面でハマる方の参考になれば幸いです。
