Как заменить текст в Google Spreadsheet с помощью скриптов приложений?

Я попытался получить значение диапазона и удалить все точки из ячейки.

var FILE = SpreadsheetApp.openById("xyz");
var CONTENT = FILE.getSheetByName("Sheet1");
var A1 = CONTENT.getRange("I17").getValue();
A1. replace(".", "");

Это дает мне, что не может найти функцию заменить. Есть ли какая-либо функция в скрипте Google Apps, которая позволяет мне заменить строку?

2 ответов


если это точно копию своего скрипта, то у вас есть пространство между A1. и replace но я предполагаю, что это не так.

@SergeInsas прав, содержимое должно быть строкой для replace() функция для работы, поэтому, если вы пытаетесь заменить . в десятичном числе, то вы можете использовать toString() метод сначала, как показано ниже.

var FILE = SpreadsheetApp.openById("xyz");
var CONTENT = FILE.getSheetByName("Sheet1");
var A1 = CONTENT.getRange("I17").getValue();
var A1String = A1.toString().replace(".", "");

или вы можете умножить число, чтобы избавиться от десятичного, но это будет зависеть от того, сколько десятичных места у вас :)


по какой-то причине это решение не работает для меня. Вот весь мой код, который должен заменить символ " + " на "ничего"

  // I need to replace more occurrences of different strings, so this is just an example..
  var ui = SpreadsheetApp.getUi();
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var range = ss.getRange("G5:G7").getValues();

  // this is a loop, to go through multiple cells that may contain the text, that needs to be replaced.
    for (var i = 0 ; i<range.length ; i++) {
        var le = range.length;
        var stri = range[i].toString().replace("+", "");
        Logger.log(stri);
  }  

  var msg = ui.alert("Replaced?");
  return msg;