var x="45ab6eb6f099e866a97a10famount%5D=7.00";
我需要替换amount%5D=
之后的值。即我需要制作...amount%5D=56.00
等。
主要的是amount%5D
之前和之后的字符串总是在变化。
即。它可能是
sdd45ab6eb6f099e866a97a10famount%5D=4.00
gdfgdtgtrrtamount%5D=3.00
答案 0 :(得分:2)
有几种方法可以做到这一点:
1:正则表达式:
x.replace(/(.+%5D=).+/, '$1' + yourNewValue);
2:字符串拆分:
var parts = x.split('%5D=');
var newString = parts[0] + '%5D=' + yourNewValue;
答案 1 :(得分:0)
一个简单的解决方案是使用replace(regExp, 'replacement')
。下面是一个快速示例,说明如何使用与模式/amount%5D=[0-9]+.[0-9]+/
匹配的正则表达式为x和x1执行此操作。
// test with first variable
var x="45ab6eb6f099e866a97a10famount%5D=7.00";
var y = x.replace(/amount%5D=[0-9]+.[0-9]+/, "amount%5D=235.00");
console.log(y)
var y = x.replace(/amount%5D=[0-9]+.[0-9]+/, "amount%5D=12.00");
console.log(y)
var y = x.replace(/amount%5D=[0-9]+.[0-9]+/, "amount%5D=11.00");
console.log(y)
// test with new variable
var x1="dsf45ab6eb6f099e866a97amount%5D=7.00";
var y = x1.replace(/amount%5D=[0-9]+.[0-9]+/, "amount%5D=235.00");
console.log(y)
var y = x1.replace(/amount%5D=[0-9]+.[0-9]+/, "amount%5D=12.00");
console.log(y)
var y = x1.replace(/amount%5D=[0-9]+.[0-9]+/, "amount%5D=11.00");
console.log(y)
输出
45ab6eb6f099e866a97a10famount%5D=235.00
45ab6eb6f099e866a97a10famount%5D=12.00
45ab6eb6f099e866a97a10famount%5D=11.00
dsf45ab6eb6f099e866a97amount%5D=235.00
dsf45ab6eb6f099e866a97amount%5D=12.00
dsf45ab6eb6f099e866a97amount%5D=11.00
您可能对正则表达式有更多限制(例如,只允许2个小数位)。此表达式仅用于说明目的。