如何使用javascript(谷歌脚本)在单词后选择固定数量的字符

时间:2019-02-08 14:29:46

标签: javascript regex google-apps-script google-docs re2

我想在Google文档脚本中执行类似的操作。

在文档中找到字符串Dernière modification后,请在var chercher内的字符串旁边添加24个字符。(我代码的第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 :(得分:0)

  • 任何字符的正则表达式为.
  • 您可以通过{}
  • 量化正则表达式组
  • 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);
}

参考文献: