目前,我正在为社交媒体营销制作一个开源的后计划器。但不幸的是,我遇到了一些麻烦。

我想提及(包含@作为第一个字符的单词)
&标签(包含#作为第一个字符的单词)

以“,”作为分隔符返回。不幸的是,我自己无法构建或找到该功能。

function getCellWord(input){ //Makes a array of all words
  var range = ss.getRange(input); //test
  var wordArray = range.getValue().split(" "); //Split by space

  return wordArray;
}
//Source: https://stackoverflow.com/questions/24073607/google-script-to-extract-the-first-word-in-a-cell

function getMentions(content){

  var wordArray = getCellWord(content);
  var wordCount = COUNTA(SPLIT(wordArray, " "))

  for(i=0;i>=wordCount;i++){ //don't know what logger is
    if(Logger.log(wordArray[i]).indexOf("@")>-1) {
    return Logger.log(wordArray[i]) + ", ";
    }
  }
}

Ra


在getCellWord()中找不到nge

最佳答案

当单词以Array.pototype.filter开头时,可以将# or @与正则表达式匹配使用



let str = '@bluh something #meh';
let out = str.split(' ').filter(word => word.match(/^(?:@|#)/)).join();
console.log(out)







let str = '@bluh something #meh';
let out = str.split(' ').filter(function(word) {
	return word.match(/^(?:@|#)/)
}).join();
console.log(out)

09-27 16:51