首页 > 解决方案 > 谷歌脚本使用 replaceText 函数

问题描述

我有这个函数可以返回所有不包含 *.

我想替换结果中的一些文本。

结果显示我所有没有 * 的工作表,例如“Client < 25”、“Client < 50”等

我想得到结果:“< 25”,所以从中删除“客户端”。

function SheetNamesFiltered(avoid_memoization) {
  return SpreadsheetApp.getActiveSpreadsheet().getSheets()
  .map(sheet => [sheet.getName()])
  .filter(sheetName => !sheetName[0].match(/\*/));
}

我已经尝试了以下但它不起作用

    function SheetNamesFiltered(avoid_memoization) {
  return SpreadsheetApp.getActiveSpreadsheet().getSheets()
  .map(sheet => [sheet.getName()].replaceText("Client ", ""))
  .filter(sheetName => !sheetName[0].match(/\*/));
}

谢谢!

标签: google-apps-script

解决方案


我没有在地图期间进行,而是replaceText将它们分开。首先,获得sheetNameno和 next 是在所有结果*中删除 Client using 。replace

function SheetNamesFiltered(avoid_memoization) {
  var array = SpreadsheetApp.getActiveSpreadsheet().getSheets()
  .map(sheet => [sheet.getName()])
  .filter(sheetName => !sheetName[0].match(/\*/));
  // Separated replacement in every item in array result
  array.forEach(function(item){
    item[0] = item[0].replace("Client ", "");
  });
  Logger.log(array);
}

输出:

输出

床单:

床单


推荐阅读