2016-09-15 3 views
2

У меня возникла проблема, когда, когда я вставляю изображение в ячейку в Документах Google, он также добавляет новую строку, от которой я не могу избавиться ... Я попробовал, что было предложено here, но это почему-то не работает. Это мой код:удалите новую строку из содержимого Google Doc Table

function myFunction() { 
    var body = DocumentApp.getActiveDocument().getBody(); 
    body.clear(); 
    var table = body.appendTable(); 
    var tr = table.appendTableRow() 
    tr.appendTableCell(); 
    tr.appendTableCell(); 
    var resp01 = UrlFetchApp.fetch("http://www.cincinnati-oh.gov/cityofcincinnati/assets/Image/Logos/cityofcincinnati.png"); 

    var cell = table.getRow(0).getCell(0); 
    cell.insertImage(0,resp01.getBlob()); 
    table.getCell(0,0).editAsText().replaceText("\\v+", ""); 
} 

Заранее спасибо!

+2

Я не уверен, почему скрипт приложений не распознает '\ n' или' \ r' поиск в регулярном выражении:/Быстрое и грязное решение для вашего случая использования - удалить текст ячейки следующим образом: 'table .getCell (0,0) .setText (""); 'надеюсь, что кто-то придет с лучшим решением (: – ocordova

+0

Пробовал ли создание регулярного выражения с помощью' new RegExp() '? Он, как правило, создает гораздо меньше проблем –

+0

@RobinGertenbach может пожалуйста, покажите мне через пример кода, как это использовать. –

ответ

0

Я не смог избавиться от персонажа (с символом 10, кстати - не 13), используя replaceText. Ядерный вариант снизится до уровня простых строк и использовать JavaScript заменить метод:

cell.setText(cell.getText().replace(/\n+$/, "")); 

Это снимает новую строку. Как я уже сказал, это ядерный вариант: любое форматирование (полужирное, курсивное), что ячейка будет потеряна.

Если в ячейке не должно быть никакого текста кроме изображения, то более короткий cell.setText(""); имеет такой же эффект.