「テキスト」アクションを使いこなす

Power Automate Desktop
「テキスト」アクションを使いこなす

Power Automate Desktopの扱う変数には様々な型あり、そのうちのひとつに「テキスト」型があります。この「テキスト」型は「数値」型とともにもっともよく使われる型のひとつです。Power Automate Desktopではそんな「テキスト」型の値を扱うためのアクションが豊富に用意されています。このページではそれらのアクションの動きをひとつひとつ確認していきましょう。

(なお、2022/8/15執筆時点でのアクション数であり、今後、利用できるオプションが増える可能性があります。)

1. テキストに行を追加

テキストに行を追加

「テキストに行を追加」アクションを利用すると、テキスト値に新しく行を追加して文字を入力することができます。設定画面では元のテキストと追加するテキストの2つのパラメータを入力します。下図では「おはようございます」というテキストに「こんにちは」というテキストを追加します。

テキストに行を追加設定画面

実行してみると、下図のように2行目に「こんにちは」という文字が追加されました。

実行後取得変数

2. サブテキストの取得

サブテキストの取得

「サブテキストの取得」アクションを利用すると、指定したテキストから任意の文字を切り取ることができます。設定画面では最初に元となるテキストを指定します。「開始インデックス」では何番目の文字から切り取るかを指定します。「テキストの先頭」を選択したら1文字目から、「文字の位置」を選択したら続くテキストボックスに取得を始めたい文字の番号を入力します。「長さ」ではどのくらい文字を切り取るかを指定します。「テキストの末尾」を選択したら最後まで切り取ります。「文字数」を選択したら続くテキストボックスに何文字切り取りたいかを入力します。下図の例では、「こんにちは」という文字の2文字目から3文字取得する設定になっています。

サブテキストの取得設定画面

実行すると「にちは」という3文字が取得できました。

実行後取得変数

3. テキストをパディング

テキストをパディング

「テキストをパディング」を利用するとテキストの前後に指定した文字や空白を指定した文字数まで挿入することができます。データを固定長にしたい時などに空白や「0」を挿入するために使われます。設定画面ではまず固定長にしたテキストを選択します。次に文字の前にデータを挿入するか後に挿入するかを選択します。「パディングするテキスト」にはどんな文字を入れるかを入力しましょう。何も入力しないと半角空白が入力されます。最後に文字の長さを設定したら終了です。下図の場合だと、「こんにちは」という文字の前に長さ8文字になるまで0を挿入します。

テキストをパディング設定画面

実行すると下図のように「こんにちは」の前に0が3文字挿入されました。

実行後取得変数

4. テキストのトリミング

テキストのトリミング

「テキストのトリミング」は「テキストのパディング」とは逆に文字の前後の空白を削除することができます。設定画面ではトリミングするテキストとどこをトリミングするかを選択します。「先頭の空白」を削除するか、「末尾の空白」を削除するか、「先頭と末尾の空白」を削除するかを選びます。下図の場合だと、「 こん にちは 」という文字の先頭と末尾両方の空白を削除します。

テキストのトリミング設定画面

実行した結果を入力ダイアログに表示してみると下図のように前後の空白が削除されていることがわかります。ただし、文字の間にある空白は削除されません。

実行後メッセージ

5. テキストを反転

テキストを反転

「テキストを反転」させると、指定したテキストの文字列順を反転させることができます。設定画面では反転させたいテキストを入力すれば終了です。

テキストを反転設定画面

上図の設定で実行すると、下図のように「すまいざごうよはお」という文字を取得できます。

実行後取得変数

6. テキストの文字の大きさを変更

テキストの文字の大きさを変更

「テキストの文字の大きさを変更」アクションを利用すると、英字テキストの大文字小文字が入れ替わります。フォントサイズのことではないので注意しましょう。設定画面ではまず最初に変換したいテキストを入力し、次に変換方法を選択します。変換方法には「大文字」「小文字」「タイトルの文字の大きさ」「文の文字の大きさ」の4つがあります。

テキストの文字の大きさを変更設定画面

それぞれの変換方法の動きについて見ていきましょう。「This iS a pEn. HOW are you?」を「大文字」に変換すると、下図のようにすべてのテキストが大文字に変換されます。

実行後取得変数

次に「小文字」に変換すると、テキストがの文字がすべて小文字になります。

実行後取得変数2

「タイトルの文字の大きさ」を選択すると、単語ごとに最初の文字が大文字、それ以外の文字が小文字に変換されます。

実行後取得変数3

「文の文字の大きさ」を選択すると、文毎に最初の文字を大文字、それ以外の文字を小文字に変換してくれます。

実行後取得変数4

7. テキストを数値に変換

テキストを数値に変換

「テキストを数値に変換」アクションを利用すると、変換可能なテキスト値を数値に変換してくれます。設定画面ではテキスト値を入力します。下図の場合だと、「2」というテキスト値が入力されています。ここで「こんにちは」や「2 + 2」などの数値変換できない文字を入力した場合はエラーとなります。

テキストを数値に変換設定画面

実行すると、生成された変数に数値型の「2」が格納されます。

実行後取得変数

8. 数値をテキストに変換

数値をテキストに変換

「数値をテキストに変換」アクションを利用すると、数値を設定に応じたテキスト値に変換します。設定画面では最初に変換したい数値を入力します。次に小数点以下の有効桁数を入力します。有効桁数3桁にした場合、整数の文字をテキスト値に変換すると「〇〇.000」という風に指定した桁数まで0が追加されます。桁区切り記号をONにすると、3桁毎にカンマ(,)が挿入されます。

数値をテキストに変換設定画面

上図設定で実行すると、下図のように3桁毎にカンマのある、小数第2位までの値をテキスト値として取得することができました。

実行後取得変数

9. テキストをdatetimeに変換

テキストをdatetimeに変換

「テキストをdatetimeに変換」を利用するとテキスト値をdatetime型に変換することができます。設定画面では変換するテキストを入力します。下図のように「2022年8月15日」や「2022/8/15 11:31:15」などのテキスト値をdatetimeに変換します。うまく変換できない場合はカスタム書式をONにして書式を設定してください。その場合、日付をyyyyMMdd、時間をhhmmssで指定します。例えば「yyyy年MM月dd日 hh時mm分ss秒」とすると「2022年08月15日 11時01分15秒」などのテキスト値を変換できます。なお、この場合は08月を8月に省略したり、01分を1分に省略したりすることはできません。

テキストをdatetimeに変換設定画面

上図の設定で実行すると下図のようにdatetime型の変数が生成されます。なお、設定ではミリ秒単位で設定していましたが、こちらは無視され、エラーにはなりませんが取得できないようです。

実行後取得変数

10. datetimeをテキストに変換

datetimeをテキストに変換

「datetimeをテキストに変換」ではdatetime型の変数をテキスト値に変換します。設定画面ではまず変換したいdatetime値を入力します。次にそのdatatime型の形式を選択します。「標準」を選択した場合は「標準形式」から変換したいdatetime値の形式をサンプルを元に選択しましょう。形式を「カスタム」にした場合は変換したいdatetime値の形式に沿ってカスタマイズしていきましょう。カスタム形式を入力すると同時にサンプルに形式が反映されるので、そちらを見ながら形式を調整してください。

datetimeをテキストに変換設定画面

上図の設定で実行すると、下図のようにdatetime値をテキスト値に変換することができました。

実行後取得変数

11. ランダム テキストの作成

ランダムテキストの作成

「ランダム テキストの作成」アクションでは設定した条件に応じたテキストをランダムに作成することができます。設定画面で「大文字を使う」をONにすると大文字のアルファベットがテキストに含まれます。「小文字を使う」をONにすると小文字のアルファベットがテキストに含まれます。「数字を使う」をONにすると数字がテキストに含まれます。「記号を使う」をONにすると、記号がテキストに含まれます。最小長と最大長を入力することで、何文字から何文字の値を生成するかを決めることができます。すべてのトグルボタンをOFFにすると使える文字がなくなり、空のテキストが生成されるのでいずれかはONにしましょう。下図の設定では大小英数字と記号を組み合わせて6~10字の文字列を生成します。

ランダムテキストの作成設定画面

実行すると下図のような文字列が生成されました。ランダムに生成されるので実行ごとに取得する文字列が変化します。

実行後取得変数

12. テキストの結合

テキストの結合

「テキストの結合」アクションを利用すると、リストの各値を結合し、ひとつのテキスト値に変換してくれます。例えば、上図の例だと、1、2、3というリストを改行で区切って結合し、ひとつのテキスト値に変換します。

設定画面では最初に結合するリストを指定します。次に区切り記号をしていします。「標準」を選択した場合は「新しい行」「タブ」「スペース」から区切り記号を選択します。「回数」には選択した区切り記号を何回使うかを指定できます。「カスタム」の選択した場合は「カスタム区切り記号」の欄に使用したい区切り記号を入力してください。

テキストの結合設定画面

上図の設定で実行してみましょう。リストの変数には「1、2、3」の値が格納されています。結果は下図のように1つの値に対して改行が2回差し込まれています。

実行後取得変数

13. テキストの分割

テキストの分割

「テキストの分割」は「テキストの結合」とは逆にテキスト値を指定した法則の下でリストに分割します。設定画面ではまず分割するテキストを入力します。続いて、区切り記号の種類を「標準」「カスタム」「文字数」から選択します。「標準」を選択した場合、「スペース」「タブ」「新しい行」からどの区切り記号を基準に分割するかを選択し、「回数」からその区切り記号を何回使っているかを選択します。「カスタム」を選択した場合、標準にはない区切り記号を使用できます。この時、「正規表現である」をONにすると正規表現を使用することができ、「*」や「?」などを用いて区切り記号を可変的に設定することができます。「文字数」を選択した場合は指定した文字数ごとにテキストを分割します。

テキストの分割設定画面

上図のように区切り文字をスペース1つとして実行してみましょう。実行結果は下図のようになります。2と3の間にはスペース2つ分空いているので、リストには何も入っていない空の要素が1、2、3とは別にできます。

実行後取得変数

14. テキストの解析

テキストの解析

「テキストの解析」アクションを利用するとテキストの中にある指定した文字を検索するし、位置を取得することができます。設定画面ではまず解析対象とするテキストを指定します。次に検索するテキストを入力します。正規表現をONにすると、「検索するテキスト」で正規表現を使えるようになります。また、実行後に文字の位置だけでなく、マッチした文字の値も取得できます。「解析の開始位置」は解析を開始する文字の位置を指定します。1文字目は1ではなく、0になることに注意が必要です。「最初の出現箇所のみ」をONにすると、最初に条件に合った1個の値だけを取得、OFFにすると条件に合うすべての値を取得します。大文字と小文字を区別する場合は「大文字と小文字を区別しない」をOFFにしてください。下図の設定は「012a3A40506070809b」のテキストから小文字のaと4~7までの数字を先頭の文字から調べてすべて取得します。この時、大文字のAは含まれません。

テキストの解析設定画面

実行すると下図のように、値そのものはMatchesというリストに、文字がどこにあるかはPositionsというリストにそれぞれ格納されます。

実行後取得変数

15. テキストを置換する

テキストを置換する

「テキストを置換する」アクションを使うと、条件に合致した文字を別の文字に置き換えることができます。設定画面では最初に置換対象となるテキストを入力します。次に条件となるテキストを入力します。「検索と置換に正規表現を使う」をONにすると「検索するテキスト」で正規表現が使えるようになります。大文字と小文字の区別は「大文字と小文字を区別しない」から行います。「置き換え先のテキスト」には置換後の文字を入力します。「エスケープ シーケンスをアクティブ化」をONにすると、「置き換え先のテキスト」でエスケープシーケンスが有効になります。エスケープシーケンスとは入力した文字そのものではなく、改行やタブ移動など特殊な制御を行う文字列のことを言います。下図の例では、「012a3A40506070809b」というテキストの中から小文字のaと4~7までの数字に合致する値を検索し、それを改行(\r\n)に置き換えます。その際、大文字と小文字は区別しています。

テキストを置換する設定画面

実行すると、下図のように合致した条件が全部5つ(a, 4, 5, 6, 7が1つずつ)あったので、それらが改行に置き換わり、6行のテキスト値を取得できています。

実行後取得変数

16. 正規表現のエスケープテキスト

正規表現のエスケープテキスト

「正規表現のエスケープ テキスト」を利用すると、正規表現として特別な意味を持つ文字(\*+?|{[,^$.)を普通の文字として扱うようにすることができます。設定画面では「エスケープするテキスト」にエスケープ化したいテキストを入力したら終了です。

正規表現のエスケープテキスト設定画面

実行すると、下図のようにエスケープされたテキストを取得できます。

実行後取得変数

17. エンティティをテキストで認識する

エンティティをテキストで認識する

「エンティティをテキストで認識する」を利用すると、指定したテキストの中から「エンティティの種類」で選択したエンティティに合致する値をすべて取得します。例えば下図の場合だと、「認識を行うテキスト」に入力されている文字の中から電話番号を探してすべて取得します。言語では認識するテキストの言語を設定します。

エンティティをテキストで認識する設定画面

実行すると下図のように電話番号が取得できています。クレジットカード番号などとの差異は認識できるものの全角文字の認識精度は低いようです。

実行後取得変数

一方、「日時」をエンティティに選択して認識をした場合、Augustなどの英語については理解できるようですが、2022年など漢字表記については認識できないようです。また「2022-8-16 15:32:01」とハイフン表記で日時を入力したときは認識できましたが、「2022-8-16」と日付だけをハイフン表記で入力した時は認識しないなど、認識基準についてはあいまいなところがあります。とても便利な機能ですができることできないことを検証した上で使用判断しましょう。

エンティティをテキストで認識する設定画面2 実行後取得変数2

以上、「テキスト」アクションについての解説でした。Power Automate Desktopでは他のアプリケーションからデータを取得した時「テキスト値」で取得されることが多いです。これらのアクションを使いこなして、自動化できる業務の幅を広げていきましょう。

→「Power Automate Desktop」の他の操作も見る

執筆者プロフィール

プロフィール画像

伊藤 丈裕

(株)サムテックのシステムエンジニア。応用情報技術者資格保有。
27歳の時、営業から完全未経験で転職。開発とWebマーケティングを担当。得意言語はJavaとJavaScript。

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