【发布时间】:2020-11-28 00:22:30
【问题描述】:
尝试使用正则表达式仅按日期替换文本 + 日期,但它不起作用:
function myfunction() {
var SourceFolder = DriveApp.getFolderById("");
var Files = SourceFolder.getFiles()
var body = DocumentApp.getActiveDocument().getBody();
while(Files.hasNext()) {
var file = Files.next();
body.replaceText("Date: \d{2}.\d{2}.\d{4}", "31.10.2020")
}
}
谢谢
【问题讨论】:
-
反斜杠必须加倍,
.应转义:.replaceText("Date: \\d{2}\\.\\d{2}\\.\\d{4}", "31.10.2020") -
非常感谢 Wiktor 可以使用双反斜杠。但是脚本不想在文件夹中的所有文件中更改它 - Files.hasNext() 不起作用,也许有人对此有任何想法
-
这行可能有问题 var body = DocumentApp.getActiveDocument().getBody();但我没有在 api 中找到任何其他内容
-
解决:var doc = DocumentApp.openById(file.getId()); var body = doc.getBody();