Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google apps script 替换Google文档中的新行(\n)_Google Apps Script_Google Docs - Fatal编程技术网

Google apps script 替换Google文档中的新行(\n)

Google apps script 替换Google文档中的新行(\n),google-apps-script,google-docs,Google Apps Script,Google Docs,试图用一条替换两条或多条新线。博士有图像 首先,我尝试这样做: var body = DocumentApp.getActiveDocument().getBody(); body.replaceText("\\n{2,}", '\n'); 但应用程序脚本方法replaceText不接受转义字符 然后我试了一下: var body = DocumentApp.getActiveDocument().getBody(); var bodyText = body.getText(); bodyTe

试图用一条替换两条或多条新线。博士有图像

首先,我尝试这样做:

var body = DocumentApp.getActiveDocument().getBody();
body.replaceText("\\n{2,}", '\n');
但应用程序脚本方法replaceText不接受转义字符

然后我试了一下:

var body = DocumentApp.getActiveDocument().getBody();
var bodyText = body.getText();
bodyText = bodyText.replace(/\n{2,}/, "\n");
body.setText(bodyText);
这是可行的,但所有的图像都丢失了

如何用保存文档图像替换换行?

问题: 在Google文档中,段落由
\n
(换行符)分隔。段落不能包含新行。段落中的任何新行字符都将转换为
\r
replaceText
文档说明:

提供的正则表达式模式与当前元素中包含的每个文本块独立匹配

因此,不能使用
\n
,因为文本块(段落的一部分)不能包含
\n

解决方案: <> P>一种考虑后续新行的方法是把它们看作空段落:

  • 没有子项和子项的段落
  • 谁的文本是空的
在这一点上,我们可以删除这些空段落:

片段: 参考资料:
问题: 在Google文档中,段落由
\n
(换行符)分隔。段落不能包含新行。段落中的任何新行字符都将转换为
\r
replaceText
文档说明:

提供的正则表达式模式与当前元素中包含的每个文本块独立匹配

因此,不能使用
\n
,因为文本块(段落的一部分)不能包含
\n

解决方案: <> P>一种考虑后续新行的方法是把它们看作空段落:

  • 没有子项和子项的段落
  • 谁的文本是空的
在这一点上,我们可以删除这些空段落:

片段: 参考资料:

所有图像丢失是什么意思?你可以提供一个样本文档来测试这一点,并理解你的意思。请记住,此方法用作正则表达式引擎,以防您需要查找特定功能。缺少,因为getText()方法只返回文本内容,不返回图像和其他内容。当我调用setText()时,文档中的所有内容都被重写了。你说所有图像都丢失了是什么意思?你可以提供一个样本文档来测试这一点,并理解你的意思。请记住,此方法用作正则表达式引擎,以防您需要查找特定功能。缺少,因为getText()方法只返回文本内容,不返回图像和其他内容。当我调用setText()时,文档中的所有内容都被重写了。代码示例删除了文本为空的所有段落,不仅是>=2的段落,而且解决方案非常好,谢谢!代码示例删除所有文本为空的段落,不仅是>=2的段落,而且解决方案非常好,谢谢!
function removeEmptyParagraphs() {
  DocumentApp.getActiveDocument()
    .getBody()
    .getParagraphs()
    .forEach(para => {
      const numChild = para.getNumChildren();
      const txt = para.getText();
      if (numChild === 0 && txt === '') para.removeFromParent();
    });
}