【发布时间】:2017-02-13 21:28:33
【问题描述】:
我们如何从 Google 文档中删除 真正 空段落? 此代码将删除任何包含图像、hr 等的段落。不明白如何检查段落是否真的为空? getText() 和 editAsText() 对此一无所知。
var doc = DocumentApp.getActiveDocument();
var body = doc.getBody();
var docParagraphs = doc.getBody().getParagraphs();
for (var i = 0; i < docParagraphs.length; i++) {
if (docParagraph[i].getText() === '') {
docParagraphs[i].removeFromParent();
}
}
我知道有一些主题与~类似的问题有关,但不一样。 How to find and remove blank paragraphs in a Google Document with Google Apps Script?
UPD:正确答案:
var doc = DocumentApp.getActiveDocument();
var body = doc.getBody();
for (var i = 0; i < doc.getBody().getParagraphs().length; i++) {
if (docParagraph[i].getText() === '') {
if (docParagraph_i.getNumChildren() == 0 && i < (docParagraphs.length - 1)) {
docParagraph[i].removeFromParent();
}
}
}
我也更改了表达式,以通过当前元素计数限制 i,而不是存储在变量中。因为元素被删除(或在其他实现中添加,例如),当没有段落但循环想要获取它们时会出现错误。
&& i < (...)
因为最后一段不能删除,会报错。
【问题讨论】:
标签: google-apps-script google-docs