Power Automate Desktop(PAD)におけるエスケープ文字の扱い方について紹介します。
エスケープ文字とは?
プログラミング言語において、
- \n : 改行
- \t : タブ
といったように、特殊な意味を持つ文字を「エスケープ文字」といいます。
%(パーセント)のエスケープ方法
PADにおいては、変数を表すときに「%ExcelInstance%」のように、パーセントで囲みます。これはPADにおける「エスケープ文字」の一つとなります。
そのため、%を単体で書くと構文エラーとなります。
![](https://prtn-life.com/wp-content/uploads/2023/12/pad-escape-9-750x384.png)
%をエスケープするには、「%%」と2回連続で記述します。
![](https://prtn-life.com/wp-content/uploads/2023/12/pad-escape-7-750x457.png)
こうすることで、「%」を文字列として表示することができます。
![](https://prtn-life.com/wp-content/uploads/2023/12/pad-escape-8-750x384.png)
「正規表現のエスケープテキスト」アクション
「%」以外のエスケープ文字をPAD内で文字列として扱いたい場合、「正規表現のエスケープテキスト」アクションを使用します。
例えば、改行コード「\n」をエスケープするテキストとして設定します。
![](https://prtn-life.com/wp-content/uploads/2023/12/pad-escape-1-750x423.png)
これを実行すると、変換後の文字列を格納する変数EscapedTextには、「\¥n」が格納されます。
![](https://prtn-life.com/wp-content/uploads/2023/12/pad-escape-3-750x349.png)
このアクションを使う場面ってあるの?
ただ、これを使う場面について考えてみたのですがいまいち思いつきませんでした。
というのも、
- 改行コードを文字列として設定したい場合
例えば改行コードを文字列として設定したい場合、普通に「\n」と書けばシングルクォーテーションで囲まれて文字列とみなされますし、
![](https://prtn-life.com/wp-content/uploads/2023/12/pad-escape-4-750x107.png)
- 改行コードの位置を判定したい場合
以下のような改行のある文字列を読み取って、改行の位置を判定する際も、
![](https://prtn-life.com/wp-content/uploads/2023/12/pad-escape-5.png)
「テキストの解析」アクションにて、正規表現として検索が可能です。
![](https://prtn-life.com/wp-content/uploads/2023/12/pad-escape-6-750x410.png)
エスケープ文字としてテキスト操作したい場合に使える?
「正規表現のエスケープテキスト」アクションを用いることで、改行コードや空白が特殊文字として出力されます。
![](https://prtn-life.com/wp-content/uploads/2023/12/pad-escape-10-750x387.png)
これをテキストデータとして保存したり、文字列の検索や置換をする場合には使えるアクションなのかも?と思いました。
![](https://prtn-life.com/wp-content/uploads/2023/12/pad-escape-11-750x417.png)
また、文字列が意図した内容で出力されないときにこのアクションを用いることで、文字列のなかに余計な空白や改行などが入っていないかを確認することもできます。
・・・・そんなに使う場面はないと思いますが!
まとめ
今回は、Power Automate Desktop(PAD)におけるエスケープ文字の扱い方について解説しました。
「正規表現のエスケープテキスト」アクションは正直使う機会は少ないと思いますが、「%」のエスケープは覚えておくと便利かと思います。
当ブログでは、Power Automate、Power Automate Desktopに関する記事を他にも投稿しています。もし、「このようなことが知りたい」「こんなフローの作り方が知りたい」等ございましたら、問い合わせやコメントからお気軽にご連絡ください。
はじめてのPower Automate Desktop―無料&ノーコードRPAではじめる業務自動化
コメント