替换字符串中的特定字母

时间:2014-11-20 21:19:07

标签: javascript regex

如果我想替换字符串中的数字,我会执行以下操作:

"a3v".replace(/\d+/,"") // "av"

但是,在字符串“dynamic_fields [n] [key]”中,我想用括号1替换括号内的n。这是我到目前为止所做的:

"dynamic_fields[n][key]".replace(/^.+[(n)]/,1)

不幸的是,这是它给我的结果:

"1][key]"

即使我预料到:

"dynamic_fields[1][key]"

为什么它不识别捕获组()并用1替换其中的内容?我究竟做错了什么?

2 个答案:

答案 0 :(得分:0)

这可以很容易地完成:



var string = "dynamic_fields[n][key]";
var replaced = string.replace(/\[n\]/,"\[1\]");
alert(replaced);




基本上,这会找到角色" n"用括号括起来,用" 1"替换它。用括号括起来。记得"逃避"括号使他们字面意思。 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Values,_variables,_and_literals#String_literals

我希望这有帮助!

答案 1 :(得分:0)

您必须将其更改为

"dynamic_fields[n][key]".replace(/[(n)]/g,1);

这是运行一个

的示例

http://ideone.com/dzFGqQ