我不知道如何从字符串中删除 [ ]
,例如:
option = 'Texture[0]'
变为 option = 'Texture'
这是我尝试过的,不知道为什么它不起作用
option = option.replace(new RegExp('/\[[^\]]*\]/'), '');
最佳答案
在 JS 字符串中,必须转义反斜杠。也就是说,要创建包含单个反斜杠的字符串,您将使用文字 '\\'
。如果您想在字符串中表示正则表达式 \[
,则需要 '\\['
(对于特定正则表达式中的每个反斜杠,依此类推)。
此外,/
字符不是正则表达式的一部分,在 JS 中它们表明您正在使用正则表达式文字。因此,如果您使用带有 new RegExp()
的字符串,请不要在开头和结尾包含 /
。
所以:
option = option.replace(new RegExp('\\[[^\\]]*\\]'), '');
但是,与将 new RegExp()
与字符串一起使用相比,使用正则表达式文字更简单:
option = option.replace(/\[[^\]]*\]/, '');
如果您有一个较长的字符串,其中包含多种 [...]
情况,例如 'Texture[0] Colour[3] Size[2]'
那么您需要进行全局替换,可以通过将 g
标志添加到正则表达式来实现,如下所示:
option = option.replace(/\[[^\]]*\]/g, '');
关于javascript - 正则表达式删除 [] 和之间的所有项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38965979/