首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >删除Google脚本中特定列中的所有空白

删除Google脚本中特定列中的所有空白
EN

Stack Overflow用户
提问于 2020-09-10 11:58:12
回答 2查看 347关注 0票数 0

我试图删除特定列(货币列)中的所有空空间,因为否则导入的值不能正确汇总。

我试过这个:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
function cleaneuro() {

  var spreadsheet = SpreadsheetApp.getActive();
  spreadsheet.getRange('H2:H996').activate();
  spreadsheet.getActiveRangeList().setNumberFormat('#,##0.00\\ [$€-1]');
  spreadsheet.getActiveRangeList().replace(/\s/g, "")  // here it should happen
  spreadsheet.getRange('A2').activate(); 

 };

但是和很多时候一样,我似乎在替换行中出现了语法错误.有什么帮助吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-09-10 12:52:08

您不能在replace()上调用RangeList。您需要循环遍历返回的范围,然后使用TextFinder

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
function cleaneuro() {
  var spreadsheet = SpreadsheetApp.getActive();
  spreadsheet.getRange('H2:H996').activate();
  spreadsheet.getActiveRangeList().setNumberFormat('#,##0.00\\ [$€-1]');
  var ranges = spreadsheet.getActiveRangeList().getRanges();
  for (var i = 0; i < ranges.length; i++) {
    ranges[i].createTextFinder('\\s').useRegularExpression(true).replaceAllWith('');
  }
  spreadsheet.getRange('A2').activate(); 
 };
票数 2
EN

Stack Overflow用户

发布于 2020-09-11 02:11:34

您没有接收到所需输出的主要原因是,您使用的replace方法对于类型为String的对象来说是典型的,而不是RangeList类型的对象。

因此,您可以尝试从该范围获取值,还可以在这里使用此公式来删除空空格VALUE.split(' ').join(''),例如

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ranges[i].getValue().split(' ').join('')

参考文献

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63836853

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文