DocumentApp replaceText正则表达式语法

时间:2017-11-23 11:01:16

标签: google-apps-script

我正在寻找将替换所有类型的特殊字符的正则表达式语法。

我有一个Google文档,其中的问题标题位于<<和>>标记。我试图用表单响应替换所有标记(为简单起见,我将在下面的脚本示例中用空值替换它)。

我目前的剧本:

var form = FormApp.getActiveForm();
var body = DocumentApp.openById('').getBody();
var items = form.getItems();
  for(i=0;i<items.length;i++){
    body.replaceText('<<items[i].getTitle()>>','');
 }

如果用户在问题标题中包含问号?,方括号()或撇号'(我相信很多其他人),则会失败。

1 个答案:

答案 0 :(得分:1)

您可以考虑转义特殊字符,例如&#39; *?()|&#39;在正则表达式中使用。这是一个样本:

  var form = FormApp.getActiveForm();
  var body = DocumentApp.openById('').getBody();
  var items = form.getItems();
  for(i=0;i<items.length;i++){
    var title = items[i].getTitle();
    title = title.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, '\\$&');    
    body.replaceText("<<" + title + ">>",'');
  }