Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android Google Sheets应用程序脚本从字符串中删除括号中的单词_Android_Google Apps Script_Google Sheets_Pattern Matching - Fatal编程技术网

Android Google Sheets应用程序脚本从字符串中删除括号中的单词

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\]",""); 但当我尝试使其通用时,所有这些都失败了(不确定模式匹配规则是什么,因此手册页

嗯,我在谷歌应用程序脚本中找不到“替换”的手册页,我只看到“替换文本”。无论如何,从我从SO帖子中收集到的信息来看,下面的内容应该是有效的,希望有人能很容易地发现它

单元格中的字符串是“[pro]all,everybody”,我想删除括号中的单词“[pro]”,因此结果是“all,everybody”

它在以下情况下工作正常:

Cell = Cell.toString().replace("\[pro\]","");
但当我尝试使其通用时,所有这些都失败了(不确定模式匹配规则是什么,因此手册页的问题是):

他们应该工作,不是吗?我错过了什么

另外,如何使用“replaceText”,我似乎无法将其直接应用于“Cell”对象。

字符串#replace是一个JavaScript函数,在该函数中,您需要使用带有正则表达式文字符号或带有新正则表达式(“模式”、“修改器”)的正则表达式。构造函数符号:

Cell = Cell.toString().replace(/\[pr[^\]]*]/,"");
使用正则表达式文字时,反斜杠被视为文字反斜杠,
/\d/
匹配一个数字。构造函数表示法等效为
newregexp(\\d”)

/\[pr[^\]]*]/
正则表达式匹配以下项的第一个实例:

  • \[pr
    -文字子字符串
    [pr
  • [^\]*
    -0+字符,而非
    ]
  • ]
    -文字符号
并替换为空字符串。

字符串#替换是一个JavaScript函数,您需要使用带有正则表达式文字符号或带有新正则表达式(“模式”、“修饰符”)构造函数符号的正则表达式:

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库驱动的。