用字符串中的方括号替换内容

时间:2018-04-16 13:24:18

标签: javascript

我有一个字符串commons-beanutils:1.7.0

我想将<input name="product[0][name]" id="product[0][name]" />替换为product[0][name]

我已经尝试过这么多解决方案来替换字符串但不能完全替换它。 我尝试使用product[1][name]和类似的其他大括号,它确实替换了字符串,但更换了斜杠。

如何使用JavaScript实现这一目标?

2 个答案:

答案 0 :(得分:1)

在JavaScript中,您可以使用以下函数轻松替换字符串

var str = '<input name="product[0][name]" id="product[0][name]" />';
var res = str.replace("product[0][name]", "product[1][name]");

这是语法

string.replace(searchvalue, newvalue)

searchvalue 可以是值或正则表达式

注意:如果要替换值(而不是正则表达式),则只替换值的第一个实例。要替换所有出现的指定值,请使用global(g)修饰符

var res = str.replace(/product\[0\]\[name\]/g, "product[1][name]");

更多信息:

答案 1 :(得分:1)

我认为你问的是如何在正则表达式中逃脱,你使用反斜杠&#34; \&#34;。 如果要替换字符串中的所有出现,则需要使用regexp而不是字符串作为替换参数

&#13;
&#13;
var result = '<input name="product[0][name]" id="product[0][name]" />'.replace(/product\[0\]\[name\]/g, "product[1][name]");
console.info(result);
&#13;
&#13;
&#13;