0
之間我無法弄清楚如何從一個字符串中刪除[ ]
所以像所有項目:正則表達式來刪除[]和
option = 'Texture[0]'
成爲option = 'Texture'
這裏是我試過,不知道爲什麼它不工作
option = option.replace(new RegExp('/\[[^\]]*\]/'), '');
之間我無法弄清楚如何從一個字符串中刪除[ ]
所以像所有項目:正則表達式來刪除[]和
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, '');
不使用正則表達式你可以使用split。看看這個[demo](https://jsfiddle.net/pt7nk9zw/) – guradio