首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在文档的两点之间添加和删除内容

在文档的两点之间添加和删除内容
EN

Stack Overflow用户
提问于 2017-11-15 01:54:54
回答 1查看 65关注 0票数 0

我目前有一个文档,在StackOverflow用户的帮助下,该文档随机生成问题,将其添加到文档的末尾,然后能够删除发布的所有问题。这是基于删除水平规则下的所有内容。

链接到包含示例文档和代码的GDrive:链接到GDRIVE

您还可以在这里看到它当前的功能:https://imgur.com/QVrOZKu

但是,我现在只想在文档中的某个点之后添加内容,并且只想删除两个特定点之间的内容。您可以在下面的图像中看到两个水平规则,在其中我要添加/删除内容。

图片中的第一个水平规则是文档中的第三个水平规则。

有没有人知道我如何在这两点之间删除和添加内容?我试过使用子索引,但不幸地失败了。

EN

Stack Overflow用户

回答已采纳

发布于 2017-11-15 18:54:58

这与从文档中的第二行中删除所有内容类似,因此我调整了解决方案。第一个函数删除第3行和第4行之间的段落。当我们在段落中循环时,它会计数水平线。当计数达到3时,开始删除后续段落。当它超过3,停止循环。

代码语言:javascript
复制
function deleteFrom3to4() {
  var body = DocumentApp.getActiveDocument().getBody();
  body.appendParagraph('');
  var para = body.getParagraphs();
  var ruleCount = 0;
  for (var i = 0; i < para.length - 1; i++) {
    if (para[i].findElement(DocumentApp.ElementType.HORIZONTAL_RULE)) {
      ruleCount++;
    }
    else if (ruleCount == 3) {
      body.removeChild(para[i]);
    }
    if (ruleCount > 3) {
      break;
    }
  }
}

这个在第三条水平线后面插入一个段落。再次,它循环直到找到第3行;在它之后插入一个段落(用body.getChildIndex(para[i]) + 1子索引表示)并停止。

代码语言:javascript
复制
function insertAfter3() {
  var body = DocumentApp.getActiveDocument().getBody();
  body.appendParagraph('');
  var para = body.getParagraphs();
  var ruleCount = 0;
  for (var i = 0; i < para.length - 1; i++) {
    if (para[i].findElement(DocumentApp.ElementType.HORIZONTAL_RULE)) {
      ruleCount++;
    }
    if (ruleCount == 3) {
      body.insertParagraph(body.getChildIndex(para[i]) + 1, "Here is a new paragraph");
      break;
    }
  }
}
票数 1
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47298158

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档