我希望创建一个带有一组特定字符的宏,并用另一组字符替换它。这种情况最好在我打字的时候发生。如何在Google AppScript中编写此内容?
另外,我确实意识到这个问题与这个问题非常相似:auto find and replace in Google Docs App Script,但我希望能够在另一个单词中替换该集合。
答案 0 :(得分:2)
实时文本替换存在问题,因为它需要一种自动检测文档更改的方法。虽然电子表格支持onEdit
触发器,但文档却不支持。您可以模拟此行为,如演示in this answer.
如果不要求实时替换,您只需编写一个函数来进行正则表达式替换,并将该函数添加到菜单中:
function replaceText(){
var docBody = DocumentApp.getActiveDocument().getBody();
docBody.replaceText('[Aa]pple','pear');
//Will replace "apple", "Apple," "applesauce", "pineapple"
}
function onOpen(e){
DocumentApp.getUi()
.createMenu("Text Replacer")
.addItem("Replace all Text", 'replaceText')
.addToUi();
}
有关编写正则表达式的帮助,see this document。