【发布时间】:2018-04-26 20:29:21
【问题描述】:
我可以用下面的脚本修剪我的dada
但是有没有办法在 Google 中使用类似于 Clean in VBA 的 Google Script 来清理数据?
即删除所有非打印字符
我无法查找-替换从其他来源复制并粘贴到 GS 中的数据
谢谢
function trimSpacesSHT(shtName) {
var sheet = SpreadsheetApp.getActive().getSheetByName(shtName);
var activeRange = sheet.getDataRange();
// Read Height and Width only once
var maxHeight = activeRange.getHeight();
var maxWidth = activeRange.getWidth();
// Read all values and formulas at once
var rangeValues = activeRange.getValues();
// iterate through all cells in the selected range
for (var cellRow = 0; cellRow < maxHeight; cellRow++) {
for (var cellColumn = 0; cellColumn < maxWidth; cellColumn++) {
rangeValues[cellRow][cellColumn] = rangeValues[cellRow][cellColumn].toString().trim().replace(/\s(?=\s)/g,'');
}
}
// Write back all values at once
activeRange.setValues(rangeValues);
}
【问题讨论】:
-
解释你要做什么
-
删除所有非打印字符
-
I am unable to find-replace on data copied and pasted into GS from another source是什么意思?你的目标是什么?你在哪里粘贴文本?您对现有的String方法做了什么尝试? -
=arrayformula(clean(a1:d500)) 也可以使用
-
只是一个警告,此修剪功能可能会损坏您的一些数据。示例:单元格值 8055-1 变为 8055 年 1 月 1 日(可能是由于 toString() 方法)。但它在大多数情况下都有效。
标签: javascript google-apps-script google-sheets