Google文档应用脚本 - 如何删除真正的空段落

时间:2017-02-13 21:28:33

标签: google-apps-script google-docs

我们如何从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 < (...)

因为无法删除最后一段并引发错误。

1 个答案:

答案 0 :(得分:0)

您需要检查段落中的孩子

paragraph.getNumChildren() //returns the number of children