Я знаю, что могу использовать подстановочные знаки в таких формулах, как;
=COUNTIF(A:A ; "*text*")
Я хочу запустить свой код, если A1 содержит «текст».
A1 = "тестовый текст"
Может кто-нибудь мне помочь ?
Я знаю, что могу использовать подстановочные знаки в таких формулах, как;
=COUNTIF(A:A ; "*text*")
Я хочу запустить свой код, если A1 содержит «текст».
A1 = "тестовый текст"
Может кто-нибудь мне помочь ?
Для скрипта Google Apps можно использовать регулярные выражения. Любой оператор, окруженный косой чертой, интерпретируется как регулярное выражение, если вы жестко закодируете его в скрипте приложений:
/.*text.*/
Обратите внимание, что подстановочные знаки используются в регулярных выражениях несколько иначе: перед звездочкой *
необходимо поставить точку .
:
_4 _: _ 5_
регулярное выражение: /.*text.*/
Итак, быстрый сценарий будет выглядеть так:
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
, который автоматически найдет любой его экземпляр:
/*text*/
↦ Я думаю, вы имеете в виду выражение. (Выражения составляют части утверждений.))
- person Aaron Thoma; 19.12.2016
=IF(COUNTIF(A1, "*text*"), "your code here", "Code not run: A1 doesn't contain 'text'")
Это то, что вы имели в виду - код формулы? Или вы хотите использовать скрипт Google Apps?
(Для этого может быть функция с более интуитивно понятным названием, чем COUNTIF (), но она помогает.)
Мое решение:
if(test.indexOf("2,")>-1)
{
my code goes here
}