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>一种考虑后续新行的方法是把它们看作空段落:
- 没有子项和子项的段落
- 谁的文本是空的
\n
(换行符)分隔。段落不能包含新行。段落中的任何新行字符都将转换为\r
。replaceText
文档说明:
提供的正则表达式模式与当前元素中包含的每个文本块独立匹配
因此,不能使用\n
,因为文本块(段落的一部分)不能包含\n
解决方案:
<> P>一种考虑后续新行的方法是把它们看作空段落:
- 没有子项和子项的段落
- 谁的文本是空的
function removeEmptyParagraphs() {
DocumentApp.getActiveDocument()
.getBody()
.getParagraphs()
.forEach(para => {
const numChild = para.getNumChildren();
const txt = para.getText();
if (numChild === 0 && txt === '') para.removeFromParent();
});
}