在google脚本中使用方括号替换文本

时间:2015-06-25 11:57:32

标签: google-docs-api

我正在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
}

有谁可以解释发生了什么?在此先感谢。

1 个答案:

答案 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