我有:
var foo = '(bar)'
foo.replace('(', '').replace(')', '')
所以,我得bar
没有括号,有没有更好的方法呢?
答案 0 :(得分:7)
您可以使用:
foo = foo.replace(/[()]/g, '');
这涉及一个简单的正则表达式,它匹配所有开括号或闭括号的实例。 请注意,您必须包含该分配,因为“.replace()”不会修改字符串;它返回修改后的字符串。
答案 1 :(得分:2)
您可以使用正则表达式捕获捕获组中括号内的所有内容,例如Javascrip Regex。
var foo = "(bar)";
var replacedStr = foo.replace(/\((.*)\)/g, "$1");
或仅用空字符串替换括号,例如
var foo = "(bar)";
var replacedStr = foo.replace(/[()]/g, "");
答案 2 :(得分:0)
如果它总是你想要摆脱的第一个和最后一个字符,你可以使用切片方法: http://www.w3schools.com/jsref/jsref_slice_string.asp
var foo = '(bar)';
alert(foo.slice(1, 4));
//Or
alert(foo.slice(1, foo.length - 1));