2010-11-27 68 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();