Google表格脚本通配符

NoT*_*nce 2 google-sheets google-apps-script google-sheets-api

我知道我可以在公式中使用通配符;

=COUNTIF(A:A ; "*text*")
Run Code Online (Sandbox Code Playgroud)

如果A1包含“文本”,我想运行我的代码。

A1 =“测试文字”

谁能帮我 ?

Aur*_*ann 5

对于Google Apps脚本,您可以使用正则表达式。如果在应用程序脚本中对其进行硬编码,则任何由正斜杠包围的语句都将被解释为正则表达式:

/.*text.*/

请注意,RegExps中通配符的使用略有不同:您需要.在星号前添加一个点*
???? COUNTIF():?????? *text*
???? regex:??????????????????/.*text.*/

因此,快速脚本如下所示:

function matchText(text){
    try {
        var pattern = /.*text.*/;
        var isMatch = text.match(pattern)[0];
        return isMatch
    } catch (e) {
    return e.toString();
  }
};
Run Code Online (Sandbox Code Playgroud)

通用的自定义函数:

function matchText(text,pattern){
    try {
        var isMatch = text.match(pattern)[0];
        return isMatch
    } catch (e) {
    return e.toString();
  }
};
Run Code Online (Sandbox Code Playgroud)

您也仍然可以使用regexextract或regexmatch对本机公式执行此操作,这始终是我的最爱。切记对以下字符使用正确的正则表达式通配符符号:星号前的点:.*。或者只是单独使用text,它会自动找到它的任何实例:

在此处输入图片说明