Javascript,如何删除括号前的值以及它自己的括号

时间:2013-02-15 19:15:10

标签: javascript regex replace parentheses

 var s = "1236(75)";
 var s = s.replace(/\(|\)/g, '');

 alert (s); // this gives me 123675  


what i actually need is 75

any help will be appreciated!

上面的代码结果是123675,但我需要它才能返回75,请帮助

4 个答案:

答案 0 :(得分:5)

使用^.+匹配输入字符串开头的所有内容。

var s = "1236(75)";
var s = s.replace(/^.*\(|\)/g, '');

也就是说,你可以使用正则表达式来做相反的事情:而不是摆脱你想要的一切,只需匹配你想要的部分:

var match = s.match(/\((\d+)|\)/)[1];

答案 1 :(得分:0)

尝试

var s = s.replace(/.*\(|\)/g, '');

但是这只会删除前导字符(在open-paren之前)并且只允许一个带括号的部分。闭幕式之后的任何事情都将继续存在。

你真正想要的是将字符串与周围的parens相匹配,然后将你的部分放回到parens中。

var m = /\((.*\))/.exec(s);
if (m) var result = m[1]

然后,如果有更多带括号的部分,你可以用[1]和[2]等来获得它们。

你也可以用新的正则表达式和'split()'

做类似的事情

答案 2 :(得分:0)

如果您只需要匹配括号中的数字

s.match(/\((\d+)\)/)[1]

答案 3 :(得分:0)

从头开始删除数字和左括号:

s = s.replace(/^\d*\(/, '').replace(/\)$/, '');