【发布时间】:2018-01-19 19:35:06
【问题描述】:
尝试编写搜索功能,将搜索几种不同格式的数字(例如:+############、# (###) ###-##-##、########### 等)和一种格式(+7(###)###-##-##)的格式(替换)。
注意:格式是指用格式正确的字符串替换字符串,但不使用格式设置
功能。它现在缺少替换功能。
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = SpreadsheetApp.getActiveSheet();
var history = ss.getSheetByName('sheetname');
ss.setActiveSheet(history);
for(i = 1; i <= history.getMaxRows(); i += 1) {
var r = history.getRange('D' + i)
var regexp = RegExp ('/+\d{11}', 'g')
Logger.log("Value: " + r.getValue())
if (regexp.exec(r.getValue()) !== null ) {
Logger.log('true')
} else {
Logger.log('false')
}
}
记录器输出:
Line 1: Value: +#(###)###-##-##
Line 2: false
Line 3: Value: +###########
Line 4: false
Line 5: Value: +###########
Line 6: false
regexp.exec(r.getValue()) 返回空值。
我除了在第 4 行和第 6 行得到 true。
【问题讨论】:
-
您能否发布这些将包含的示例值/字符串及其预期输出?
-
不确定this 是否是您要查找的内容,因为它有点不清楚
-
我得到了带有值的谷歌电子表格,它不断变化。所以我需要正确格式化它们。我对正则表达式有点熟悉。我可以在搜索和替换正则表达式中手动编写它并且它可以工作,但我想自动化这个,所以它就像按下按钮并完成。
-
这个正则表达式对你有用吗?
-
它在 Google Apps 脚本环境中不起作用
标签: javascript regex google-apps-script