我有一个电子表格,其值如下:
8504.40.9031 9403.70.0000
8504.40.9090 9403.70.8031
8504.40.9510 9403.70.9000
我正在尝试使用脚本来查找和删除每个值中的句点(“。”),以便最终结果如下:
8504409031 9403700000
8504409090 9403708031
8504409510 9403709000
我一直在尝试执行以下脚本来实现这一目标:
function appendString() {
var range = SpreadsheetApp.getActiveSheet().getActiveRange();
var numRows = range.getNumRows();
var numCols = range.getNumColumns();
var writeValues = []
for (var i = 1; i <= numRows; i++) {
var row = []
for (var j = 1; j <= numCols; j++) {
var currentValue = range.getCell(i,j).getValue();
var withString = currentValue.toString().replace(".","");
row.push(withString)
}
writeValues.push(row)
}
range.setValues(writeValues)
}
我遇到了以下无法解决的问题,我们将不胜感激:
1)脚本仅删除了一些句点,并且
2)该脚本删除了结尾的零(我假设脚本将其读取为浮点值,因此删除了结尾的零,但是我不知道如何纠正它)。我用此脚本得到的最终结果是:
850440.9031 940370
850440.909 940370.8031
850440.951 940370.9
谢谢!
答案 0 :(得分:1)
我-'我的评论回答了我的问题。问题是无法使用正则表达式。将var withString = currentValue.toString().replace(".","");
更正为var withString = currentValue.toString().replace(/\./g,"");
,并成功。
万一有人遇到类似问题,我正在尝试从不使用RegEx的答案中获取答案:
How to replace text in Google Spreadsheet using App Scripts?