2013-02-21 111 views
0

的JavaScript我有一個web服務的回來一個字符串包含開放的括號像這樣的「[]」 因此字符串看起來就像是這樣的:之間的替換字符串「[]」使用正則表達式

[1] blabh balh blah 

我想寫一個正則表達式來刪除「[1]」或者任何開放括號之間的東西。 現在我已經試過類似:

var regexp = /\[[]\\]/g; 

但這不起作用。我在這裏絆倒了我自己的雙腳。 我只是想找到以「[」開頭並以「]」結尾的任何內容,並替換中間的所有內容,包括打開和關閉的括號。 任何幫助或指導將不勝感激。

+0

也許'/ \ [[0-9] * \] /;'不需要g標誌,因爲您不想全局替換。 – Jess 2013-02-21 02:55:18

回答

8

這應該工作:

var str = '[1] blabh balh blah'; 
str = str.replace(/\[.*?\]\s?/g, ''); 

如果您有嵌套括號正則表達式可能不會是最好的選擇,但。

+0

哥們你是我的英雄,我現在感覺很蠢!謝謝你的回答。一個簡單的問題是「[。*]」是一種通配符類型的搜索?謝謝你,我虛心地謝謝你。 – Miguel 2013-02-21 02:59:44

+0

我剛剛在Firefox Web Console上試過了,它返回'blabh balh blah' – Jess 2013-02-21 02:59:49

+0

@Miguel:是的,'。*'的意思是「任何字符0次或更多次」 – elclanrs 2013-02-21 03:01:13

1

正在使用regexp的要求?如果不是,一個簡單的解決方案可能是:

var myString = '[1] Bob Loblaw is the man'; 
myString = myString.slice(myString.indexOf(']')+1); 
+1

Web控制檯返回「Bob Loblaw是人」。你也需要擺脫空間。 – Jess 2013-02-21 03:20:57