javascript - 正则表达式删除 [] 和之间的所有项目

标签 javascript jquery

我不知道如何从字符串中删除 [ ] ,例如:

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/

相关文章:

javascript - 如何在单独的窗口中打开 Pinterest 按钮?

javascript - 即使你没有调用函数也会运行

javascript - Stripe.setPublishableKey 不是函数错误?

jquery - 如何获取网页上非均匀滚动的元素和分层的 "curtain-like"背景?

javascript - 为什么 'event' 在 Chrome 中全局可用但在 Firefox 中不可用?

javascript - moment.js 将东部夏令时间转换为 UTC?

javascript - 检索 token /创建费用 - Stripe

javascript - 为什么这个 Javascript 循环需要一分钟进行 100 次迭代?

jQuery keyup 改变了颜色,但之后它又变成了原来的颜色

javascript - 动态生成图像的 src 未定义