Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/361.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 替换Google工作表中的文本,而不使用Google应用程序脚本重新格式化值_Javascript_String_Google Apps Script_Google Sheets_Replace - Fatal编程技术网

Javascript 替换Google工作表中的文本,而不使用Google应用程序脚本重新格式化值

Javascript 替换Google工作表中的文本,而不使用Google应用程序脚本重新格式化值,javascript,string,google-apps-script,google-sheets,replace,Javascript,String,Google Apps Script,Google Sheets,Replace,我有个问题需要帮助 我正在使用一个函数(我在本网站的其他地方找到)循环遍历我的所有电子表格行,以将单词“undefined”替换为一个空格(“”) 代码工作正常,但由于代码中的.toString方法,它似乎还将日期从mm/dd/yyyy格式重新格式化为文本字符串 我不想重新格式化日期(或数字),但我还没有找到一种没有.toString方法重写代码的方法 有谁知道一种不用先格式化为字符串就可以替换Google工作表中的文本的方法吗 下面是代码。我非常感谢你在这方面的帮助 function repl

我有个问题需要帮助

我正在使用一个函数(我在本网站的其他地方找到)循环遍历我的所有电子表格行,以将单词“undefined”替换为一个空格(“”)

代码工作正常,但由于代码中的.toString方法,它似乎还将日期从mm/dd/yyyy格式重新格式化为文本字符串

我不想重新格式化日期(或数字),但我还没有找到一种没有.toString方法重写代码的方法

有谁知道一种不用先格式化为字符串就可以替换Google工作表中的文本的方法吗

下面是代码。我非常感谢你在这方面的帮助

function replaceInSheet(sheet, to_replace, replace_with) {

  var Data = SpreadsheetApp.getActiveSpreadsheet(); // DATA spreadsheet
  //get the current data range values as an array
  var values = Data.getDataRange().getValues();

  //loop over the rows in the array
  for(var row in values){

    //use Array.map to execute a replace call on each of the cells in the row.
    var replaced_values = values[row].map(function(original_value){
      return original_value.toString().replace("undefined","");
    });

    //replace the original row values with the replaced values
    values[row] = replaced_values;
  }

  //write the updated values to the sheet
  Data.getDataRange().setValues(values);
}
  • 您希望使用Google Apps脚本将电子表格单元格的
    “undefined”
    字符串替换为
  • 您不希望影响没有值
    “undefined”
    的单元格
如果我的理解是正确的,那么这个答案呢?请把这看作是几个可能的答案之一

例如,作为几种解决方法之一,使用TextFinder如何?使用TextFinder时,没有值
“undefined”
的单元格不受影响。在这种情况下,请按如下方式修改脚本

修改脚本: 参考资料:

如果我误解了你的问题,而这不是你想要的方向,我道歉。

是的,这回答了我的问题!我在代码中使用了它,现在我已经准备好了。抱歉耽搁了,我想我之前已经评论过了。@Neo谢谢你的回复。我很高兴你的问题解决了。谢谢你的回复。我已经在下面的帖子中找到了我问题的答案。我以为我已经回复了,但不知怎么的它被删除了。无论如何,谢谢您的回复。@Kos只是想补充一句,这是解决我问题的另一种方式,所以了解一下是很有帮助的。谢谢你的建议!
function replaceInSheet(sheet, to_replace, replace_with) {
  var Data = SpreadsheetApp.getActiveSpreadsheet();
  Data.getDataRange().createTextFinder("undefined").replaceAllWith("");
}