我想使用Google Appscript替换我的Google文档中的文本,以将其转换为PDF。但是问题是函数replaceText(textToReplace,newText);只需删除所有出现的匹配文本即可。我只想只删除第一次出现。该怎么做?
答案 0 :(得分:1)
可以通过在元素上调用replaceText
方法来限制该元素的范围。但是,如果找到文本的第一段包含多个实例,这将无济于事:它们都将被替换。
相反,使用findText
查找第一个匹配项,然后调用deleteText
和insertText
执行替换。
// replaces the first occurrence of old
function replaceFirst(old, replacement) {
var body = DocumentApp.getActiveDocument().getBody();
var found = body.findText(old);
if (found) {
var start = found.getStartOffset();
var end = found.getEndOffsetInclusive();
var text = found.getElement().asText();
text.deleteText(start, end);
text.insertText(start, replacement);
}
}
如果您认为这应该更容易,那么您并不孤单。