Javascript 如何使用脚本编辑器(google文档附加组件)删除google文档中的空行?

Javascript 如何使用脚本编辑器(google文档附加组件)删除google文档中的空行?,javascript,google-apps-script,google-docs,add-on,google-apps-script-addon,Javascript,Google Apps Script,Google Docs,Add On,Google Apps Script Addon,我正在创建一个GoogleDocs插件,我正在尝试创建的一个功能是减少两段之间的空行数 因此,例如,如果我有两个段落,它们之间有5个空行/空行,我希望该功能将空行数减少到1 本质上,我需要一种检测空行的方法。我已经看过了,并且认为我需要使用replaceText()方法来搜索正则表达式模式。然而,我试过了,但没有成功(也许我用的是错误的模式,我不知道) 有人能帮我找到一种检测空行的方法吗?谢谢 编辑: 我刚刚发现Google文档并不支持所有的正则表达式模式。这是链接:。我不熟悉正则表达式。任何人

我正在创建一个GoogleDocs插件,我正在尝试创建的一个功能是减少两段之间的空行数

因此,例如,如果我有两个段落,它们之间有5个空行/空行,我希望该功能将空行数减少到1

本质上,我需要一种检测空行的方法。我已经看过了,并且认为我需要使用replaceText()方法来搜索正则表达式模式。然而,我试过了,但没有成功(也许我用的是错误的模式,我不知道)

有人能帮我找到一种检测空行的方法吗?谢谢

编辑:


我刚刚发现Google文档并不支持所有的正则表达式模式。这是链接:。我不熟悉正则表达式。任何人都可以提供一个在谷歌文档中工作的替代方案。

编写并测试了以下功能,以下是使其工作的步骤

  • 将文本从这里复制到新的Google文档

  • 将以下代码段添加到工具>脚本编辑器>项目中

  • 内联注释

  • //不支持具有以下特殊字符的正则表达式,
    //因为它们可能会导致处理电子邮件的延迟:*(星号)、+(加号)
    //所以RegEx不适用,因为您不能使用“\s*”,我们需要找到另一个解决方案
    //行/行是段落,对吗?现在您可以遍历这些行
    //修剪段落(行),如果该段落为空,则可以将其删除。
    函数removeMptylines(){
    var doc=DocumentApp.getActiveDocument();
    log(“Before:\n”,doc.getBody().getText());
    var段落=doc.getBody().getparations();
    //从最后一段迭代到第一段
    对于(变量i=段落长度-1;i>=0;i--){
    变量行=第[i]段;
    如果(!line.getText().trim()){
    //段落(行)为空,请将其删除
    行。removeFromParent()
    Logger.log(“删除:”,i);
    }
    }
    Logger.log(“在:\n之后”,doc.getBody().getText());
    }
    
    工具书类

  • 在正则表达式中,
    ^
    是一行的开头,
    $
    是结尾,
    \s
    是空白。将它们结合在一起-尝试使用
    ^\s*$
    aestrisks的意思是“任意数量的空白”,这是有意义的。但由于某些原因,它仍然不起作用。我很好奇,解决了它并发回了一个解决方案