如何使用 Google Apps Script 在 Google 文档中查找和删除空白段落?

Ren*_*ers 5 google-docs google-apps-script

我正在处理包含数百个空白段落的 Google 文档。我想自动删除这些空行。

在 LibreOffice Writer 中,您可以使用“查找和替换”工具进行空替换^$,但这在 Google 文档中不起作用。

尽管应该有 3 个匹配项,但我搜索^$^\s*$返回了 0 个结果

如何使用 Google Apps Script 删除空白段落?

我已经试过了body.findText("^$");,但那又回来了null

function removeBlankParagraphs(doc) {
    var body = doc.getBody();
    result = body.findText("^$");

}
Run Code Online (Sandbox Code Playgroud)

Tom*_*ard 7

我认为必须有最后一个空段落,但这似乎有效。

function myFunction() {
  var body = DocumentApp.getActiveDocument().getBody();

  var paras = body.getParagraphs();
  var i = 0;

  for (var i = 0; i < paras.length; i++) {
       if (paras[i].getText() === ""){
          paras[i].removeFromParent()
       }
}
}
Run Code Online (Sandbox Code Playgroud)

  • 有一个问题:脚本从文档中删除所有图像,因为将它们识别为空段落。这是解决方法:`function myFunction() { var body = DocumentApp.getActiveDocument().getBody(); var paras = body.getParagraphs(); 变量 i = 0; for (var i = 0; i &lt; paras.length; i++) { if (paras[i].getText() === ""){ if (paras[i].findElement(DocumentApp.ElementType.INLINE_IMAGE,null) === null) { paras[i].removeFromParent();} } } }` (4认同)