Google Apps Script(GAS)の文字列で改行する方法~エスケープ文字を活用

2020年8月11日

Google Apps Script(GAS)の文字列で、文章の途中で改行したいケースがあります。

そうした場合にエスケープ文字を利用して文字列を改行する方法と改行の活用事例について紹介します。

GASの文字列で改行はどう表現?

Google Apps Script(GAS)の文字列で、途中に改行したいケースがあります。

長い文章がずっと続いていると、読みにくくなるためです。

例えば、String型の文字列に格納された文章の中で、「。」で一文が終わったところで改行するといった場合です。

しかし、GASのスクリプト上で文字列に改行を含んだ状態で代入するとエラーが生じます。

そのため、キーボードのエンターキー入力では文字列の改行は表現できません。

文字列の特殊な要素にはエスケープ文字で対応

ではGoogle Apps Script(GAS)で文字列の改行を行うにはどうすればよいのでしょうか。

改行などの文字列の特殊な要素についてはエスケープ文字という特殊な記号を入力し、改行を表現します。

GASでは文字列の中で¥(円マーク/バックスラッシュ)があるとエスケープ文字であると判断し、通常の文字入力とは異なる解釈が行われます。

そのうちの1つに改行を表す改行文字がエスケープ文字として用意されています。

GAS文字列の改行にはエスケープ文字「\n」

Google Apps Script(GAS)で扱う文字列で、文字列を改行するには「\n」というエスケープ文字を使用します。

文字列の中で改行したい場所で、「\n」を入力すると、その位置で文字列の文章が改行されるようになります。

Google Apps Script(GAS)の文字列にエスケープ文字で改行を表現したスクリプト

function myFunction() {
let text ="改行のテストです。\nこの文章は改行されます。";
//改行された文字列をログ出力
Logger.log(text);
//改行された文字列をスプレッドシートのセルに出力
SpreadsheetApp.getActiveSheet().getRange(1, 1).setValue(text);
}

サンプルコードを実行すると、ログ出力を表示すると文字列の途中で改行ができていることが分かります。

GASで文字列の改行を行うサンプルコードを実行した結果

エスケープ文字\nによる改行は、ログ出力だけでなく、スプレッドシートのセルに値を入力する際にも有効です。

スプレッドシートのセルに文字列を保存した際も改行が反映されている

Twitter投稿では改行を多く入れて見やすい投稿文にするのがトレンドとなっています。

GASでTwitter投稿を自動化するケースでもエスケープ文字で改行して、通常の投稿と変わらないように改行して自動ツイートが可能です。

ポップアップ(メッセージボックス)で改行したい場合

ログ出力やスプレッドシートへの書き込みでは、\nのエスケープ文字で改行ができました。

しかし、スプレッドシート上で表示するポップアップの場合、上記の方法では上手く改行できません。

ポップアップ(メッセージボックス)で改行したい場合には「\\n」を使用します。

ポップアップメッセージ(メッセージボックス)の場合、通常のエスケープ文字ではなく「\\n」が改行には必要

このサンプルコードを実行すると、ポップアップ表示のメッセージでも改行が有効になって表示されています。

GASの文字列のエスケープ文字も微調整し、ポップアップ表示のメッセージボックスでも改行が反映されるようになった

まとめ・終わりに

今回、Google Apps Script(GAS)の文字列の途中で改行をしたい場合の対応方法を解説しました。

改行のような特殊文字はエスケープ文字と呼ばれる\(円マーク)をつけた文字で表現します。

改行のエスケープ文字は「\n」で、文字列の改行したいポイントに挟むと、そこで改行されて文字が出力されます。

スプレッドシートへの出力や、メールの本文を送る際に改行のエスケープ文字「\n」を用いると、視認性も高まるので、ぜひ活用しましょう。

※Google App Scriptでの文字列の各種処理・操作方法は以下の記事でまとめています。

GoogleApps Script(GAS)文字列の処理・操作方法まとめ(置換/変換/抽出/分割/連結)