gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-05 02:05:41 34 4
gpt4 key购买 nike

我正在创建一个 Google 文档附加组件,我正在尝试创建的功能之一是减少两个段落之间的空行数的功能。

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

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

谁能帮我找到检测空行的方法?谢谢。

编辑:

我刚刚发现 Google 文档并不支持所有的正则表达式模式。这是该链接:https://support.google.com/analytics/answer/1034324?hl=en .我不熟悉正则表达式。谁能提供适用于 Google 文档的替代方案。

最佳答案

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

  1. 从这里复制文本 Lorem Ipsum Google Doc , 到新的 Google 文档

  2. 将以下代码片段添加到您的工具 > 脚本编辑器 > 项目

  3. 内联评论

// Regular expressions with the following special characters are not supported, 
// as they can cause delays in processing your email: * (asterisk), + (plus sign)
// So RegEx is not applicable since you can't use "\s*", we need to find another solution

// A row/line is a Paragraph, weird right? So now you iterate through the rows
// Trim paragraph (row), if it's empty, then you can delete it.

function removeEmptyLines() {
var doc = DocumentApp.getActiveDocument();
Logger.log("Before:\n", doc.getBody().getText());

var paragraphs = doc.getBody().getParagraphs();
// Iterating from the last paragraph to the first
for (var i=paragraphs.length-1; i>=0; i--){
var line = paragraphs[i];
if ( ! line.getText().trim() ) {
// Paragraph (line) is empty, remove it
line.removeFromParent()
Logger.log("Removed: ", i);
}
}
Logger.log("After:\n", doc.getBody().getText());
}
引用
  1. https://developers.google.com/apps-script/reference/document/text#replaceText(String,String)
  2. https://support.google.com/a/answer/1371415?hl=en
  3. https://stackoverflow.com/a/3012832/5285732

关于javascript - 如何使用脚本编辑器(Google 文档附加组件)删除 google 文档中的空行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63289132/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com