本記事ではPower Automate Desktopで改行を含む文字列から改行を削除する方法を解説します。
例として以下のテキストから改行を削除します。
改行を削除後は以下のテキストにします。
改行を削除したいけど、どうやったらいいのかわからん。
とお悩みの方の参考になれば幸いです。ではやってみましょう。
結論:文字列を改行コードで分割して改行コードを削除してから結合する
手順としては以下の通りです。
①改行コードのみの変数を作る。
②「テキストの分割」で改行コード変数を区切り文字としてテキストを分割する。
③「テキストのトリミング」で分割後のテキストから改行コードを削除する。
④「テキストの結合」でトリミング後のテキストを結合して終了。
なんでこんなめんどくさいやりかたするの?改行コードを”空白”に置換したらいいんじゃねぇの?
って思われる方もおられると思いますが、厄介なのはPower Automate Desktopに改行コード(“\n”のようなもの)がわからないってことです。そのため改行コードのみを含んだ変数をわざわざ作る必要があります。
それと後述しますが、改行コードを”空白”に置換しようと試みましたがうまく行きませんでした。
とりあえず順番に詳細を解説します。
改行コードのみの変数を作る
前述の通り、Power Automate Desktopの改行コードがわかりません。ですが、改行コードでテキストを分割したいので、改行コードのみの変数を作成します。これは以下のサイトを参考にしました。
まず「テキストに行を追加」アクションを選択します。
元のテキストと追加するテキストに適当に文字を入れます。
生成された変数Resultは以下のように改行を含んだ文字列になっています。
次に「サブテキストの取得」アクションを選択します。
ここで「1改行2」となっている文字列の改行だけを抜き出します。(文字の位置を0にすると「1」が取得されます。文字の位置を3とすると「2」が取得されます。文字の位置を1or2で「改行」だけを取得できます。)
以下の通り、改行だけを抜き出しています。
「テキストの分割」で改行コード変数を区切り文字としてテキストを分割する
先ほど作成した改行のみの”NewLine”でテキストを分割します。「テキストの分割」アクションを選択します。
区切り記号の種類を「カスタム」。カスタム区切り記号を「NewLine」と先ほどの改行変数を入れます。
分割されたテキストはリスト化されて以下のようになります。
「テキストのトリミング」で分割後のテキストから改行コードを削除する
これで分割テキストを結合しても同じように改行を含んだ文字列に戻ります。改行コードを削除する必要があります。改行コードの削除には「テキストのトリミング」アクションを選択します。
トリミングするテキストに分割した最小の文字列を入力し、先頭と末尾の空白文字を削除します。たぶん末尾だけ削除でも良いですが、まぁどちらでも大丈夫です。
これを実行すると改行コードが削除されます。これをTextListに上書きします。
同様に分割した後の方も改行コードを削除します。
これで改行コードを削除した文字列を作ることが出来ました。
「テキストの結合」でトリミング後のテキストを結合する
あとはこれを結合したら終了です。「テキストの結合」アクションを選択します。
結合するリストに先ほど分割し改行コードを削除したリストを入力します。
これで終了です。完成した文字列は以下の通りです。
以上です。めんどくさいですね。もっと良いやり方あれば、教えて頂きたいです。
ちなみに改行コードを空白で置換したらどうなる?
結果をお答えすると、、、やってみたけど出来ませんでした。
まず「テキストを置換する」アクションを選択します。
以下のように改行を含んだ文字列「TestText」の改行「NewLine」を検索して、空白「%”%」に置き換えるという記述です。
結果です。↓
うまくいかないんですよねぇ。。。
何でかは良く分かりません。。。まぁ一旦出来る方法がわかったらかいいじゃないですか。
はい。以上です。何かの参考になれば幸いです。最後までお読みいただきありがとうございました!!