如何使用关键字列表获取所有子字符串

时间:2019-01-09 20:12:38

标签: javascript google-apps-script google-sheets custom-function

我正在Google表格中使用脚本来搜索单元格中的字符串,以确定该字符串中是否有我的关键字。如果字符串中包含关键字,那么我想将其附加到结果中,然后显示在字符串中找到的所有关键字。

这通常有效,但是我发现每个搜索字符串的第一个关键字都丢失了。有什么建议吗?

function findKeyWordsInString(keywordRange, searchString)
{
  var result = "";

  // Loop through the rows in keywordRange
  for (var row = 0; row < keywordRange.length; row++)
  {
    // Loop through the columns in keywordRange
    for (var col = 0; col < keywordRange[row].length; col++)
    {
      var keyword = keywordRange[row][col];

      if (keyword != null && keyword != "")
      {
        // Found a non-null, non blank value, check if it exists in the searchString
        if (searchString.indexOf(keyword) > 0)
        {
          result = result + keyword + ", ";
        }
      }
    } 
  } 

  if (result == "")
  {
    result = "-";
  }
  else
  {
    result = result.substr(0, result.length - 2);
  }

  return (result);
}

我的电子表格在A列中有关键字,在C列中有搜索字符串。

这是我用来调用函数的内容:

=findKeyWordsInString(A2:A, C3)

C3包含:

Accomplishment, Awareness, Credibility, Seriousness, Attentiveness

正确的答案应该是:

Accomplishment, Awareness, Credibility, Attentiveness

实际结果是:

Attentiveness, Awareness, Credibility

Accomplishment丢失

0 个答案:

没有答案