Google Sheet GAS 中过滤器方法的字符串部分匹配

Partial match of strings for filter method in Google Sheet GAS

我有以下代码:

var filteredRange = rangeVals.filter(function(val){
    return val[C2] == "ANTHONY";
    });

此代码适用于完全匹配。但是如果我想查找以 Y 结尾的任何值,这不会 return 任何东西:

  var filteredRange = rangeVals.filter(function(val){
    return val[C2] == "*Y";
    });

我试过使用通配符“%Y”,但显然这也不是正确的方法。 我试图从 MDN 查看 RegExp 的这个资源,但我似乎无法为此目的整合信息。我在这里阅读了很多不同的帖子,但 none 似乎解决了我目前所需要的。有人能指出我正确的方向吗?我有兴趣知道如何检索基于部分匹配的匹配值,例如以字母开头,或以字母结尾,或包含 'abcdefg'

中的 'cde' 之类的字符串
  • 您想使用 Google Apps 脚本从二维数组中检索最后一个字符具有 Y 的元素。

如果我的理解是正确的,这个答案怎么样?请将此视为几个可能的答案之一。

修改后的脚本:

从:
return val[C2] == "*Y";
到:
return val[C2].slice(-1) == "Y";

return val[C2][val[C2].length - 1] == "Y";

return /Y$/.test(val[C2]); // regex is used.

注:

  • 如果要检索最后一个字符有abc的元素,请将return val[C2] == "*Y";修改为return /abc$/.test(val[C2]);return val[C2].slice(-3) === "abc";.
  • 当您要检索值中包含 cde 的元素时,。请修改return val[C2] == "*Y";return val[C2].indexOf("cde") > -1;.

参考文献:

如果我误解了您的问题,这不是您想要的结果,我深表歉意。