我正在嘗試在Google文檔中查找文本,並用下標符號替換 - 用a3替換「a3」,但現在格式化爲3作爲下標。如何使用findText()更改多個事件的谷歌文檔格式?
基於答案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
是包含整個文件的標所有的數字數組。
我不明白爲什麼它沒有得到重複,通過查看日誌,我知道它沒有在重複中運行條件 - 所以它不會重新替換它已經替換的相同下標。
有人可以看到發生了什麼? 謝謝你!
@Serge insas我基於你的回答(參見問題鏈接),因爲你寫了「如果你有多個,那麼你應該迭代整個文檔內容找到每個或他們,並全部替換它們。「 「整個文檔」是什麼意思?這是我的問題嗎?我會怎麼做?謝謝! – aShumays