使用Google文档中的应用脚本删除换行符

时间:2014-10-17 17:28:12

标签: google-apps-script google-docs

尝试找出如何从Google文档(而不是电子表格)中删除多个换行符。

我已经尝试了这个以及它的许多变体:

function searchAndReplace() {
  var bodyElement = DocumentApp.getActiveDocument().getBody();
  bodyElement.replaceText("\r\r", '\r');
}

请问好吗? 所有这一切的Noob ......

目的是复制搜索并在MS Word中替换^ p

3 个答案:

答案 0 :(得分:1)

如果您的文档只包含带有文本的段落(图像或其他元素将丢失),这是一种相当“激进”的方法。见doc about element types here

(代码中的评论)

function removeNewLines(){
  var doc = DocumentApp.getActiveDocument();
  var text = doc.getBody().getText();// get a string
  var textMod=text.replace(/\n/g,'');// replace all \n with ''
  Logger.log(textMod);//optional check in logger
  doc.getBody().clear().appendParagraph(textMod);// empty the doc and apend new texr
  doc.saveAndClose();// save the result
}

答案 1 :(得分:0)

我想做同样的事情(用一条新行替换两条新行)。最后出现以下内容,因为某些原因replaceText()不接受\ n。

function myFunction() {
  var body = DocumentApp.getActiveDocument().getBody();
  var text = body.editAsText();
  var text_content = text.getText();
  for(var i = 0, offset_i = 0; i < (text_content.length); i++){    
    if((text_content.charCodeAt(i)==10) && (text_content.charCodeAt(i-1)==10)){
      text.deleteText(i-1-offset_i, i-1-offset_i)
      offset_i++;
    }

  }

}

答案 2 :(得分:-2)