我正在google docs脚本中构建邮件合并类型功能。我选择使用方括号来分隔字段。我注意到,当匹配带方括号的字符串时,replaceText会做一些奇怪的事情,如下面的测试函数所示。
function testReplace()
{
var outputDoc = DocumentApp.create("testReplace");
outputDoc.appendParagraph('Hello [World]');
var body = outputDoc.getActiveSection();
body.replaceText('[World]', 'There');
// Document content:
// HeThereThereThere [ThereThereThereThereThere]
// I would have expected:
// Hello There
}
有谁可以解释发生了什么?在此先感谢。
答案 0 :(得分:0)
您正在更换' W'' o'' r',' l'或者& #39; d'与'有'
[xyz]匹配' x',' y'或' z',不是' xyz'。
你需要逃避方括号。试试" \ [World \]"
Here's an answer with a basic primer on how to use regular expressions