Как выбрать фиксированное количество символов после слова с помощью JavaScript (скрипт Google) - PullRequest
0 голосов
/ 08 февраля 2019

Я хочу, чтобы скрипт Google doc сделал что-то вроде этого.

Когда вы нашли строку Dernière modification в документе, добавьте 24 символа рядом с ней внутри var chercher. (строка 4 в моем коде)

Я только знаю, что после этих слов всегда 24 символа, а не то, что внутри.

Например: Dernière modification | 2019 02 08 | 13:24:46

Дата и номер часа меняются каждый раз


На самом деле я не разработчик, у меня мало знаний в JavaScript, поэтому я здесь

Я прочиталэто, но я не знаю, с чего начать без навыков

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String

https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Objets_globaux/RegExp

https://developers.google.com/apps-script/reference/document/text#findText(String)


function insertAtCursor() {
    var id = DocumentApp.getActiveDocument().getId();
    var update = DriveApp.getFileById(id).getLastUpdated();
    var chercher = DocumentApp.getActiveDocument().getBody().findText('Dernière modification');
    var formattedDate = Utilities.formatDate(update, "GMT+01:00", "yyyy MM dd '|' HH:mm:ss");
    var modification = 'Dernière modification | ' + formattedDate;
    //var element = curseur.insertText(modification);

    if (chercher === modification) {
        DocumentApp.getActiveDocument().getCursor().insertText('reussite');
    } else {
        DocumentApp.getActiveDocument().getCursor().insertText('raté');
    }
}

На самом деле результат var chercher = Dernière modification

И я хочу var chercher = Dernière modification | 2019 02 08 | 13:24:46 с другим номером каждый раз.

Я ожидаю что-то вроде этого ~: var chercher = DocumentApp.getActiveDocument().getBody().findText('Dernière modification' ++ \ w 24 );

Я открыт для любой идеи

1 Ответ

0 голосов
/ 08 февраля 2019
  • Регулярное выражение для любого символа: .
  • Вы можете количественно определить группы регулярных выражений с помощью {}
  • findText(), которое вернет только rangeElement.Вы должны получить элемент и смещенный текст, чтобы получить соответствующую строку.

Фрагмент кода:

function search() {
  var rangeElement = DocumentApp.getActiveDocument()
    .getBody()
    .findText('Dernière modification.{24}');

  var chercher = rangeElement
    .getElement()
    .asText()
    .getText()
    .substring(
      rangeElement.getStartOffset(),
      rangeElement.getEndOffsetInclusive()+1
    );
  Logger.log(chercher);
}

Ссылки:

...