Android Google Sheets应用程序脚本从字符串中删除括号中的单词
嗯,我在谷歌应用程序脚本中找不到“替换”的手册页,我只看到“替换文本”。无论如何,从我从SO帖子中收集到的信息来看,下面的内容应该是有效的,希望有人能很容易地发现它 单元格中的字符串是“[pro]all,everybody”,我想删除括号中的单词“[pro]”,因此结果是“all,everybody” 它在以下情况下工作正常:Android Google Sheets应用程序脚本从字符串中删除括号中的单词,android,google-apps-script,google-sheets,pattern-matching,Android,Google Apps Script,Google Sheets,Pattern Matching,嗯,我在谷歌应用程序脚本中找不到“替换”的手册页,我只看到“替换文本”。无论如何,从我从SO帖子中收集到的信息来看,下面的内容应该是有效的,希望有人能很容易地发现它 单元格中的字符串是“[pro]all,everybody”,我想删除括号中的单词“[pro]”,因此结果是“all,everybody” 它在以下情况下工作正常: Cell = Cell.toString().replace("\[pro\]",""); 但当我尝试使其通用时,所有这些都失败了(不确定模式匹配规则是什么,因此手册页
Cell = Cell.toString().replace("\[pro\]","");
但当我尝试使其通用时,所有这些都失败了(不确定模式匹配规则是什么,因此手册页的问题是):
他们应该工作,不是吗?我错过了什么
另外,如何使用“replaceText”,我似乎无法将其直接应用于“Cell”对象。字符串#replace是一个JavaScript函数,在该函数中,您需要使用带有正则表达式文字符号或带有新正则表达式(“模式”、“修改器”)的正则表达式。构造函数符号:
Cell = Cell.toString().replace(/\[pr[^\]]*]/,"");
使用正则表达式文字时,反斜杠被视为文字反斜杠,/\d/
匹配一个数字。构造函数表示法等效为newregexp(\\d”)
/\[pr[^\]]*]/
正则表达式匹配以下项的第一个实例:
-文字子字符串\[pr
[pr
-0+字符,而非[^\]*
]
-文字符号]
Cell = Cell.toString().replace(/\[pr[^\]]*]/,"");
使用正则表达式文字时,反斜杠被视为文字反斜杠,/\d/
匹配一个数字。构造函数表示法等效为newregexp(\\d”)
/\[pr[^\]]*]/
正则表达式匹配以下项的第一个实例:
-文字子字符串\[pr
[pr
-0+字符,而非[^\]*
]
-文字符号]
并替换为空字符串。我相信replace是一种javascript字符串的方法。你可能想看看。考虑使用字符串而不是正则表达式的区别。那么,修复应该看起来像“代码> Cys= Cyto.ToString())替换(/[PR[^ [] ] *] /,“”);code>@Cooper谢谢你的指针,那么应用程序脚本是基于JavaScript的?不知道,也不确定他们为什么不在应用程序脚本文档页面中列出“替换”。Wiktor非常感谢,工作得很有魅力!文档说明:
Apps脚本基于JavaScript 1.6,以及1.7和1.8中的一些特性。因此,除了内置的和高级的Google服务外,还有许多基本的JavaScript功能可用:您可以使用诸如Array、Date、RegExp等常见对象,以及Math和Object全局对象。
。我相信replace是JavaScript字符串的一种方法。你可能想看看。考虑使用字符串而不是正则表达式的区别。那么,修复应该看起来像“代码> Cys= Cyto.ToString())替换(/[PR[^ [] ] *] /,“”);code>@Cooper谢谢你的指针,那么应用程序脚本是基于JavaScript的?不知道,也不确定他们为什么不在应用程序脚本文档页面中列出“替换”。Wiktor非常感谢,工作得很有魅力!文档说明:Apps脚本基于JavaScript 1.6,以及1.7和1.8中的一些特性。因此,除了内置和高级Google服务外,还有许多基本的JavaScript功能可用:您可以使用诸如Array、Date、RegExp等常见对象,以及Math和Object全局对象。
。太棒了!出于好奇,为什么我需要逃避第一个“[”而不是最后一个“]”?这对我来说是一个通用的解决方案:replace(/[\S*]/,“”)。另外,应用程序脚本是100%JS吗?字符类之外的]
不必转义,正则表达式引擎总是知道它是什么,一个特殊的或文字的]
符号。应用程序脚本使用JavaScript。但是,它只是语言的一个子部分,例如,你不能像在纯JS中那样只使用DOM解析。既然你已经开始工作了,我可以用“replaceText”做同样的工作吗?-)对不起,现在是凌晨1点,我需要睡一会儿。不知道你是怎么尝试的。请注意,replaceText
regex是由Re2提供动力的,而不是由JS、regex库提供动力的。太棒了!出于好奇,为什么我需要逃避第一个“[”而不是最后一个“]”?这对我来说是一个通用的解决方案:replace(/[\S*]/,“”)。另外,应用程序脚本是100%JS吗?字符类之外的]
不必转义,正则表达式引擎总是知道它是什么,一个特殊的或文字的]
符号。应用程序脚本使用JavaScript。但是,它只是语言的一个子部分,例如,你不能像在纯JS中那样只使用DOM解析。既然你已经开始工作了,我可以用“replaceText”做同样的工作吗?-)对不起,现在是凌晨1点,我需要睡一会儿。不知道你是怎么尝试的。注意,replaceText
regex是由Re2而不是JS,regex库驱动的。