【Google Apps Script(GAS)】文字列の置換と削除(replace)

エクセルやスプレッドシートにおいては文字列の削除や置換は頻繁に使われます。
そこで今回はGoogle Apps Scriptにおける、文字列の置換や削除方法についてご紹介します。

※本ページはプロモーションが含まれています

スポンサーリンク
スポンサーリンク

文字列の置換

Google Apps Scriptにおいて、文字列を置換するには下記スクリプトを使用します。

replace(検索する文字列,置換する文字列)

下記のサンプル1は、変数weekに代入した月曜日という文字列の、「月」を「火」に置換して変数strに代入し、メッセージボックスに表示された例になります。

・サンプル1

function myFunction() {

var week = ‘月曜日’;

str = week.replace(‘月’, ‘火’);

Browser.msgBox(str);

}

文字列の置換 処理結果

文字列の置換 処理結果

文字列を置換して削除する場合

文字列を置換して削除したい場合は、置換する文字列に空欄(「”」または「””」)を指定して実行します。
(ここはエクセルと同様です)

下記のサンプル2は、変数weekに代入した月曜日という文字列の、「月」を削除して変数strに代入し、メッセージボックスに表示された例になります。

・サンプル2

function myFunction() {

var week = ‘月曜日’;

str = week.replace(‘月’, ”);

Browser.msgBox(str);

}

文字列を置換して削除 処理結果

文字列を置換して削除 処理結果

スプレッドシート上の文字列を連続して置換する

まず、下記のようなスプレッドシートを用意します。

置換前スプレッドシート

置換前スプレッドシート

その上で下記のサンプル3ですが、
アクティブシートのセルA1~A7に記載された月曜日から日曜日という文字列の、「曜日」という文字列を検索し、連続して「曜」のみに置換してセルA1~A7に置き換えていきます。

・サンプル3

function myFunction() {

var ss = SpreadsheetApp.getActiveSpreadsheet();
var sh = ss.getActiveSheet();
var last_row = sh.getLastRow();

for (var i = 0; i < last_row; i++) {

var week = sh.getRange(1 + i, 1).getValue();
var str = week.replace(‘曜日’, ‘曜’);

sh.getRange(1 + i, 1).setValue(str);

}
}

置換後スプレッドシート

置換後スプレッドシート

正規表現を使った置換

ここでは、正規表現を使った置換というのも少々ご紹介していきます。

正規表現とは、

文字列内にある、文字の組み合わせを照合するために指定するパターン

をいいます。

 

下記のサンプル4では、

var msg = /金.*?は/;

で変数msgに正規表現「/金.*?は/」を代入しています。

ここでの正規表現「/金.*?は/」についてですが、

「金」で始まり「は」で終わるパターン

の文字列を表す正規表現です。

 

次の

str = str.replace(rep, ‘毎日が’);

では、「金」で始まり「は」で終わる文字列、つまり「金曜日は」という文字列を、「毎日が」という文字列に置換しています。

 

最後の、

Browser.msgBox(str);

では、メッセージボックスに「毎日がカレーの日」と表示されます。

・サンプル4

function myFunction() {

var str = ‘金曜日はカレーの日’;

var rep = /金.*?は/;

str = str.replace(rep, ‘毎日が’);

Browser.msgBox(str);

}

正規表現による置換

正規表現による置換

 

正規表現による置換(スクリプトエディタ)

正規表現による置換(スクリプトエディタ)

 

関連記事
タイトルとURLをコピーしました