この記事ではPower Automate for desktopを使って文字列からスペースやタブや改行を削除する方法について学習します。
スペースや改行やタブを削除する方法は?
Power Automate for desktopでスペースや改行やタブを削除する方法には「テキストのトリミング」アクションを使う方法と「テキストの置換」アクションがあります。
- 「テキストのトリミング」アクション
- 文頭・文末のスペースやタブや改行を削除する場合はこちらを使います。
- 「テキストを置換する」アクション
- 文中のスペースやタブや改行を削除する場合はこちらを使います。
「テキストのトリミング」アクション
「テキストのトリミング」アクションは文章の前後にあるスペースやタブ、改行を削除するアクションです。
「テキストのトリミング」アクションの使い方
フローを作成して「テキストのトリミング」アクションの使い方について学習していきます。
単体の文字列をトリミングする方法!
▲「変数」グループの中の「変数の設定」アクションを追加してパラメータを入力します。
- 設定:NewVar
- 宛先:下記
こんにちは。 こんにちは。 こんにちは。
トリミングする文字列を用意します。
▲「テキスト」グループの中の「テキストのトリミング」アクションを追加してパラメータを入力します。
- トリミングするテキスト:%NewVar%
- トリミング対象:先頭と末尾の空白文字
▲図の赤枠のところが削除されます。
▲文頭のスペースが削除され、文末の無駄な空白行が3行分消えました。
テキストのトリミングの成功です!
え・・・。
▲ここ(上図の赤枠)は消えないの?
「テキストのトリミング」アクションは渡した変数(または文字列)を一つの文章としてその文頭・文末の部分しかトリミングしません。文中のスペース・タブ・改行を削除するには別のアクションを使います。
文中のスペース・タブ・改行を削除する方法は後述します!
Robinソースコード
SET NewVar TO $''' こんにちは。 こんにちは。 こんにちは。 ''' Text.Trim Text: NewVar TrimOption: Text.TrimOption.Both TrimmedText=> TrimmedText
リストの文字列をトリミングする。
次はリスト型変数に入った複数の文字列をまとめてトリミングする方法について学習します。
▲上図のようなテキストファイルをリスト型変数に読み込んで文字列のトリミングを行います。トリミングした文字列を新規テキストファイルに出力します。
「テキストのトリミング」アクションにリスト型変数を渡してもリスト1個目の要素と最後の要素のトリミングしかできません。すべての要素をトリミングするにはループ処理を使ってリストから1個ずつ要素を取り出し、1個ずつ「テキストのトリミング」アクションに渡す必要があります。では実際にフローを作成してみましょう!
▲「ファイル」グループの中の「ファイルからテキストを読み取ります」アクションを追加してパラメータを入力します。
- ファイルパス:C:\Users\user\Desktop\testData\氏名_Padded.txt
- 内容の保存方法:リスト(それぞれがリストアイテム)
- エンコード:UTF-8
トリミングしたテキストたちを保存するためのリストです。
▲「変数」グループの中の「新しいリストの作成」アクションを追加してパラメータを入力します。
▲「ループ」グループの中の「For each」アクションを追加してパラメータを入力します。
- 反復処理を行う値:%FileContents%
- 保存先:CurrentItem
▲「テキスト」グループの中の「テキストのトリミング」アクションを追加してパラメータを入力します。
- トリミングするテキスト:%CurrentItem%
- トリミング対象:先頭と末尾の空白文字
▲「変数」グループの中の「項目をリストに追加」アクションを追加してパラメータを入力します。
- 項目の追加:%TrimmedText%
- 追加先リスト:%List%
トリミングしたテキストを出力用のListに入れていきます。
▲「ファイル」グループの中の「テキストをファイルに書き込みます」アクションを追加します。
- ファイルパス:C:\Users\user\Desktop\testData\氏名_Trimed.txt
- 書き込むテキスト:%List%
- 新しい行を追加する:オン
- ファイルが存在する場合:既存の内容を上書きする
- エンコード:UTF-8
▲フローを実行します。実行後List変数にはトリミングしたテキストが格納されます。図をご覧いただくと各文字列の左側にあった空白が消えてきれいに左揃えに整列したテキストを確認できます。併せて出力用テキストファイルが生成されたことも確認できました。
Robinソースコード
File.ReadTextFromFile.ReadTextAsList File: $'''C:\\Users\\user\\Desktop\\testData\\氏名_Padded.txt''' Encoding: File.TextFileEncoding.UTF8 Contents=> FileContents Variables.CreateNewList List=> List LOOP FOREACH CurrentItem IN FileContents Text.Trim Text: CurrentItem TrimOption: Text.TrimOption.Both TrimmedText=> TrimmedText Variables.AddItemToList Item: TrimmedText List: List NewList=> List END File.WriteText File: $'''C:\\Users\\user\\Desktop\\testData\\氏名_Trimed.txt''' TextToWrite: List AppendNewLine: True IfFileExists: File.IfFileExists.Overwrite Encoding: File.FileEncoding.UTF8
文中のスペースやタブや改行を削除するには?
▲「テキストのトリミング」アクションは文中の空白文字は削除できません。削除するにはいくつかの方法がありますが下記の記事では「テキストを置換する」アクションを使う方法を紹介します。ご参考になさってください。
まとめ
この記事ではテキストから空白やタブや改行を削除する方法について解説しました。
このブログではRPA・ノーコードツール・VBA/GAS/Pythonを使った業務効率化などについて発信しています。
参考になりましたらブックマーク登録お願いします!
Power Automate学習教材
▲Kindleと紙媒体両方提供されています。デスクトップフロー、クラウドフロー両方の解説がある書籍です。解説の割合としてはデスクトップフロー7割・クラウドフロー3割程度の比率となっています。両者の概要をざっくり理解するのにオススメです。
▲Power Automate for Desktopの基本をしっかり学習するのにオススメです。この本の一番のメリットはデモWebシステム・デモ業務アプリを実際に使ってハンズオン形式で学習できる点です。本と同じシステム・アプリを使って学習できるので、本と自分の環境の違いによる「よく分からないエラー」で無駄に躓いて挫折してしまう可能性が低いです。この点でPower Automate for desktopの一冊目のテキストとしてオススメします。著者は日本屈指のRPAエンジニア集団である『ロボ研』さんです。
▲Power Automate クラウドフローの入門書です。初心者の方には図解も多く一番わかりやすいかと個人的に思っています。
Microsoft 365/ Power Automate / Power Platform / Google Apps Script…
▲Udemyで数少ないPower Automateクラウドフローを主題にした講座です。セール時は90%OFF(1200円~2000円弱)の価格になります。頻繁にセールを実施しているので絶対にセール時に購入してくださいね。満足がいかなければ返金保証制度がありますので安心してご購入いただけます。