如何将doc.replaceText()用于多行字符串?通过replaceText替换换行符?

时间:2017-06-22 21:04:58

标签: google-apps-script google-docs

我正在为项目使用replaceText(),我希望能够匹配和替换在Google文档中跨越多行的字符串。现在在replaceText()的'replace'部分,我可以使用\ n在新文本中插入换行符,但出于某种原因我不能使用\ n来匹配现有的换行符。

说我在Google文档中有这样的字符串:

Line one

Line two

我想用文本“只需一行”替换它。我已经尝试过以下操作但它没有用。

doc.replaceText("Line one\n*Line two", "Just one line");
doc.replaceText("Line one\n\nLine two", "Just one line");
doc.replaceText("Line one\n+Line two", "Just one line");

这让我相信replaceText无法通过\ n查找换行符。我很惊讶,因为使用时没有任何问题。或。*寻找随机字符。

对此有什么好处?我需要的另一个应用是删除多余的换行符(所以如果Doc中的任何地方有三个换行符,要删除它们/将它们变成一个换行符)。

请记住,我对Javascript非常陌生,只会将其用于Google文档上的Google Apps脚本。请尝试在某些婴儿步骤中解释任何解决方案。提前谢谢!

1 个答案:

答案 0 :(得分:0)

如果您的文档仅包含文本(您将丢失图像等),

var text = DocumentApp.getActiveDocument().getBody().getText();
var newText = text.replace(/\n/g,'');
doc.getBody().clear().appendParagraph(newText);