[GAS]文字列のスペースを除去(Trim)するには: 逆引きGoogle Apps Script

2012 年 3 月 23 日 金曜日

▼サンプルスクリプト

セル編集時に、A列すべての文字列前後のスペースを除去する例

// A列すべて空白除去
function onEdit(){
  var activeSheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  for(var i=1; i<=activeSheet.getLastRow(); i++){
    var currentValue = activeSheet.getRange('A'+i).getValue();
    currentValue = currentValue.replace(/(^\s+)|(\s+$)/g, "");
    activeSheet.getRange('A'+i).setValue(currentValue);
  }
}

あるいは、あらかじめ空白除去用に関数を用意しておく。

// trim関数を定義する
function trim_(target){
  if (target == null || target == undefined){
    return "";
  }
  return target.replace(/(^\s+)|(\s+$)/g, "");
}

解説

JavaScriptにはtrim関数が用意されていないため、正規表現による文字列置換を実装することがあるが、Google Apps Scriptにもtrim関数が用意されていないので、同じ手法を用いている。

1つ目のサンプルでは、スプレッドシートのセル編集をトリガーとして実行されるonEditメソッドに、A列の1行目から最終行までループしながら、文字列前後の空白文字を除去する処理を実装している。

2つ目のサンプルでは、trim用の関数を自作している。あらかじめ実装しておけば、プロジェクト中のどこからでもtrim_("trimする文字列")で関数を呼び出すことができる。

関連記事

コメント / トラックバック 3 件

コメントをどうぞ

トラックバック

このエントリーのトラックバックURL:

http://www.bmoo.net/archives/2012/03/312990.html/trackback