我知道我可以使用帶有通配符的通配符;Google表格腳本通配符
=COUNTIF(A:A ; "*text*")
我想運行我的代碼,如果A1包含「文本」。
A1 =「test text」
任何人都可以幫助我嗎?
我知道我可以使用帶有通配符的通配符;Google表格腳本通配符
=COUNTIF(A:A ; "*text*")
我想運行我的代碼,如果A1包含「文本」。
A1 =「test text」
任何人都可以幫助我嗎?
我的解決辦法:
if(test.indexOf("2,")>-1)
{
my code goes here
}
=IF(COUNTIF(A1, "*text*"), "your code here", "Code not run: A1 doesn't contain 'text'")
這是你在想什麼 - 公式代碼?或者你想用Google Apps Script?
(有可能是一個比COUNTIF()這個更直觀地命名的功能,但它的伎倆。)
對於谷歌Apps腳本,您可以使用正則表達式。
/.*text.*/
注意通配符使用稍有不同的正則表達式:你需要你的星號*
之前,包括點.
向前環繞的任何聲明,如果你的應用程序腳本硬編碼斜槓被解釋爲一個正則表達式: COUNTIF()
:*text*
正則表達式:/.*text.*/
因此,一個快速腳本會看升IKE在此:
function matchText(text){
try {
var pattern = /.*text.*/;
var isMatch = text.match(pattern)[0];
return isMatch
} catch (e) {
return e.toString();
}
};
廣義自定義函數:
function matchText(text,pattern){
try {
var isMatch = text.match(pattern)[0];
return isMatch
} catch (e) {
return e.toString();
}
};
您仍然可以做到這一點,使用REGEXEXTRACT或REGEXMATCH,這始終是我最喜歡的本地公式。請記住在星號前使用正確的正則表達式通配符表示法:這些點:.*
。或者只是使用text
本身,它會自動將找到它的任何實例:
(術語nitpick:「如果你在應用程序腳本中對它進行硬編碼,將正斜槓包圍的任何***語句***解釋爲正則表達式:'/ * text * /'」↦我認爲你的意思是***表達式***。(表達式構成聲明的一部分。)) –
我想使用谷歌Apps腳本。 – NoTolerance