2010-11-27 90 views
57

之間的文本是否有可能改變的JavaScript /正則表達式:刪除括號

Hello, this is Mike (example) 

使用JavaScript和正則表達式

Hello, this is Mike 

+0

是的,這是可能的。但是,爲什麼使用正則表達式替換字符串時會起作用? – Oded 2010-11-27 15:54:11

回答

125
"Hello, this is Mike (example)".replace(/ *\([^)]*\) */g, ""); 

結果:

"Hello, this is Mike" 
+9

請注意.replace()不會更改字符串本身,它只會返回一個新的字符串。所以你仍然必須設置變量等於你改變的。 – Ayub 2013-10-30 18:50:04

+1

如果圓括號在字符串中間,上面的正則表達式將刪除它們周圍的所有空白。這可能不好。 – 2017-11-13 11:42:25

22
var str = "Hello, this is Mike (example)"; 

alert(str.replace(/\s*\(.*?\)\s*/g, '')); 

這也將之前和之後的括號替換過剩空白。

1

我發現這個版本最適合所有情況。它不會刪除所有空格。

例如, 「一(試驗)B」 - > 「A B」

"Hello, this is Mike (example)".replace(/ *\([^)]*\) */g, " ").trim(); "Hello, this is (example) Mike ".replace(/ *\([^)]*\) */g, " ").trim();