我们如何从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 < (...)
因为无法删除最后一段并引发错误。
答案 0 :(得分:0)
您需要检查段落中的孩子
paragraph.getNumChildren() //returns the number of children