BLOGサブスレッドの日常
2025.06.05
Power Automate で複数行を扱うには
kura
くらはしです。
気がついたら6月です。早い…
だんだん蒸し暑くなってきたので、エアコンの試運転を始めました。
さて、前回 Power Automate と少し仲良くなったので、今回は、ぱわお第2弾として新たなフローを試していました。
そこでハマったところがあったので共有したいと思います。
やりたかったこと
アダプティブカードから入力した複数行のテキストを1行ずつ処理したい
やったこと
アダプティブカードを使うのは、前回と同じ方法なのですんなりできました。
入力した内容はこんな感じで取れるので、改行コードで分割すれば1つずつ処理できそうです。
{
"variables": [
{
"name": "inputData",
"type": "String",
"value": "てすと1\nてすと2\nてすと3"
}
]
}
分割といえば split です。

こんな感じで指定しましたが、まったく分割されません(泣)
split(variables('inputData'), '\n')
こんな結果になってしまいました...
{
"variables": [
{
"name": "lines",
"type": "Array",
"value": [
"てすと1\nてすと2\nてすと3"
]
}
]
}
色々調べた結果、Power Automate の式ではエスケープシーケンスが効かないようで、以下の方法で改行コードを指定すると上手くいきました!
split(variables('inputData'), decodeUriComponent('%0A'))
無事、改行コードで分割されてます!
{
"variables": [
{
"name": "lines",
"type": "Array",
"value": [
"てすと1",
"てすと2",
"てすと3"
]
}
]
}
使われている環境で改行コードが異なるので、環境に応じた改行コードを指定すると良さそうです。
改行コードについてはこちらを参考にしました。
改行コード - とほほのWWW入門
おまけ
変数として改行コードを登録して利用する方法もありました。

見た目は空っぽですが、コードビューを見るとちゃんと改行コードが入っていました。
(splitで直接指定するのと何が違うのかはさっぱりわかりません)

この場合はこんな感じで指定します。
split(variables('inputData'), variables('改行コード'))
これで複数行の扱いも怖くない!
ぱわお第2弾で作成したフローについては後日ご紹介できるかもしれません!
この記事を書いた人
kura
