我正在尝试在google doc中查找文本并使用下标符号替换 - 替换" a3"使用a3但现在将3格式化为下标。
根据答案here 我写了一些有用的代码,但是只替换了任何一个实例的第一个实例(有些重复)。
我写了以下内容:
for (var k=0; k<subscriptsReplace.length; k++) {
subscript = ' a'+subscriptsReplace[k];
find = ' a'+subscriptsReplace[k]+' ';
Logger.log(find)
var element = body.findText(find);
if(element){ // if found a match
var start = element.getStartOffset();
var text = element.getElement().asText();
text.replaceText(find, subscript);
text.setTextAlignment(start+2, start+2, DocumentApp.TextAlignment.SUBSCRIPT);
Logger.log("found one");
} // else do nothing
}
请注意subscriptsReplace
是一个数组,其中包含整个文档中所有下标的数量。
我无法弄清楚为什么它没有得到重复,通过查看日志,我知道它没有按重复条件运行 - 所以它不会重新替换它已经被替换的相同的下标。
有人能看到发生了什么吗? 谢谢你!
答案 0 :(得分:0)
您可以使用以下方法替换整个身体中的所有内容:
function testReplace() {
var docBody = DocumentApp.getActiveDocument().getBody();
docBody.replaceText(searchPattern, replacement);
};