見出し画像

はじめてのGAS(6)replaceで文字列を置換する・削除する方法

文字列の置換と削除

Google Apps Script(GAS)で、文字列(テキスト)に含まれている特定の文字を別の文字列に置換する・削除する方法を紹介します。

replaceで文字列を置換する

文字列を置換するにはreplaceメソッドを使用します。

replace("対象の文字", "置き換える文字")

下記のコードは、文字列『今日の天気は、晴れです。』【晴れ】【雨】に置換しています。

function myFunction() {
 const text1 = "今日の天気は、晴れです。";
 const text2 = text1.replace("晴れ", "雨");

 console.log("文字の置換前: " + text1);
 console.log("文字の置換後: " + text2);
}

画像1

replaceで文字列を削除する

置き換える文字を空にすることで、対象の文字を削除できます。

replace("対象の文字", "")
function myFunction() {
 const text1 = "今日の天気は、晴れです。";
 const text2 = text1.replace("今日の", "");

 console.log("文字の置換前: " + text1);
 console.log("文字の置換後: " + text2);
}

画像2

正規表現

置換したい対象の文字が複数回登場する場合、前述の方法だと、はじめの1回しか置換されません。つまり2回目以降の文字は置換されずそのままです。

画像3

文字列に登場するすべてを置換したい場合は、正規表現で記述します。

replace(/正規表現/g, "置き換える文字")
function myFunction() {
 const text = "ABCD-ABCD";
 console.log(text.replace(/B/g, "★"));
}

画像4

複数の文字をまとめて置換するには?

複数の文字を置換したい場合は、replaceをつなぐことで簡単に実現できます。

function myFunction() {
 const text = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
 console.log(text.replace("A", "あ").replace("E", "え").replace("I", "い"));
}

置換する文字が増減しても柔軟に対応できるように、下記のようなforEachを用いた実装もできます。

function myFunction() {
 const target = [
   ["A", "あ"],
   ["I", "い"],
   ["U", "う"],
   ["E", "え"],
   ["O", "お"]
 ];
 let text = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
 target.forEach(x => {
   text = text.replace(x[0], x[1]);
 });
 console.log(text);
}

画像5

GASに関する技術的なご質問、お仕事のご依頼


この記事が気に入ったらサポートをしてみませんか?