Как заменить все символы в строке, используя Google Scripts? - PullRequest
0 голосов
/ 16 апреля 2020

Я пытаюсь заменить указанные c символы в ячейке Google Sheet с помощью этого кода:

  var sValue = data[0][0];
  sValue = sValue .replace(" ", "");
  var cell = sheet.getRange(1, 1); 
  cell.setValue(sValue);

Если мой текст «это тест», я хочу иметь «thisisatest», но результат "это тест". Заменяется только первый символ. Как я могу заменить их все?

1 Ответ

1 голос
/ 17 апреля 2020
  • Вы хотите преобразовать this is a test в thisisatest, заменив " " на "".
    • Значение this is a test находится в ячейке электронной таблицы Google.
  • Вы хотите добиться этого с помощью скрипта Google Apps.

Здесь я хотел бы предложить использовать TextFinder для вашей ситуации по следующим причинам.

  1. В вашей ситуации используется электронная таблица Google.
  2. В вашем сценарии значения извлекаются getValues и помещаются setValue. Когда используется TextFinder, процесс поиска и замены запускается на внутреннем сервере. Таким образом, стоимость может быть уменьшена.
  3. TextFinder можно использовать для ячейки, диапазона, листа и всех листов в Spreadsheet простым скриптом.

Пример скрипта:

В вашем сценарии предполагается, что значение this is a test в ячейке "A1" преобразуется в thisisatest.

const sheetName = "Sheet1";
SpreadsheetApp
  .getActiveSpreadsheet()
  .getSheetByName(sheetName)
  .getRange(1, 1)
  .createTextFinder(" ")
  .replaceAllWith("");

Примечание:

  • Например, в приведенном выше сценарии, когда getRange(1, 1) удаляется как SpreadsheetApp.getActiveSpreadsheet().getSheetByName(sheetName).createTextFinder(" ").replaceAllWith("");, " " во всех ячейках листа заменяется на "".

Ссылка:

...