![見出し画像](https://assets.st-note.com/production/uploads/images/66407551/rectangle_large_type_2_aa9ebfbc6004f646b9b6d9624df0043e.png?width=1200)
はじめてのGAS(6)replaceで文字列を置換する・削除する方法
文字列の置換と削除
Google Apps Script(GAS)で、文字列(テキスト)に含まれている特定の文字を別の文字列に置換する・削除する方法を紹介します。
replaceで文字列を置換する
文字列を置換するにはreplaceメソッドを使用します。
replace("対象の文字", "置き換える文字")
下記のコードは、文字列『今日の天気は、晴れです。』の【晴れ】を【雨】に置換しています。
function myFunction() {
const text1 = "今日の天気は、晴れです。";
const text2 = text1.replace("晴れ", "雨");
console.log("文字の置換前: " + text1);
console.log("文字の置換後: " + text2);
}
replaceで文字列を削除する
置き換える文字を空にすることで、対象の文字を削除できます。
replace("対象の文字", "")
function myFunction() {
const text1 = "今日の天気は、晴れです。";
const text2 = text1.replace("今日の", "");
console.log("文字の置換前: " + text1);
console.log("文字の置換後: " + text2);
}
正規表現
置換したい対象の文字が複数回登場する場合、前述の方法だと、はじめの1回しか置換されません。つまり2回目以降の文字は置換されずそのままです。
文字列に登場するすべてを置換したい場合は、正規表現で記述します。
replace(/正規表現/g, "置き換える文字")
function myFunction() {
const text = "ABCD-ABCD";
console.log(text.replace(/B/g, "★"));
}
複数の文字をまとめて置換するには?
複数の文字を置換したい場合は、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);
}
GASに関する技術的なご質問、お仕事のご依頼
この記事が気に入ったらサポートをしてみませんか?