查找和替换Google文档中匹配单词的样式

时间:2014-05-27 16:45:37

标签: google-apps-script google-docs styling

我想在我的文档中快速找到Dept_qty的所有实例,并将它们更改为 Dept_qty (实际上任何样式更改,包括颜色和字体)。

我想这样: Original

成为这个: Adjusted

我可以使用find来识别该单词的所有实例,但我仍然需要手动选择每个单词并将其更改为所需的样式。

更改完成后,我可以使用“选择所有匹配文本”功能将样式更新为其他内容,但这仅适用于具有匹配样式的单词。

我需要一种更快速的方法来根据字母更新所有匹配的文本。

这可能吗?我可以编写自定义函数吗?

1 个答案:

答案 0 :(得分:0)

我创造了答案。我使用正则表达式来识别字符串并相应地操作:

function MasterPass(){
  var doc = DocumentApp.getActiveDocument();
  var bodyElement = DocumentApp.getActiveDocument().getBody();

  var match;

  // Find {table}.{field} patterns
  var re = new RegExp('[a-z]+_?[a-z]+[.][a-z0-9]+_?[a-z0-9]+','gi');
  while (match = re.exec(bodyElement.asText().getText())){
    highlightText(match[0].substring(0,match[0].indexOf(".")),1);
  }
}

这将搜索与dept_qty.curr_qty模式匹配的字符串,并在第一个句点之前突出显示该字符串。 highlightText函数更新该字符串的所有实例。