在Google文档中提供以下文本:
@1Bryan Smith
1234 Alameda Ln
Palm Springs, CO
92264@
@2Jerry Macnamara
4568 Montagonal Ave
Aspertine, MD
29382@
我希望能够以编程方式删除Bryan Smith或Jerry Macnamara的文本块。为此,我尝试使用Apps Script正文元素的replaceText()函数。问题是,正则表达式无法按预期运行。
var i = 2;
var regex = new RegExp('^@' + i + '([\\s\\S]*)@$', 'm');
上面的正则表达式起作用,但是body.replaceText()并不将RegExp作为参数,而仅将字符串表示表达式。我已经尝试过以如下字符串格式复制上述正则表达式:
body.replaceText('(m)^@' + i + '([\\s\\S]*)@$', '');
找不到匹配项。我相信我可能没有正确设置m标志。
必须使用replaceText()函数,我不想直接将文档文本编辑为字符串,因为它会弄乱文档中的格式和图像。
用于测试的示例脚本(工具->脚本编辑器):https://docs.google.com/spreadsheets/d/136_o9acI_rtHf0njRapt1i-r0F_ZWPAXtKYVkUmpBlc/edit#gid=0