簡體   English   中英

替換JavaScript中的一些字符串

[英]Replace some string in javascript

var x="45ab6eb6f099e866a97a10famount%5D=7.00";

我需要替換amount%5D=之后的值。 即我需要使...amount%5D=56.00等。

最主要的是, amount%5D之前和之后的字符串總是在變化。

即可能是

sdd45ab6eb6f099e866a97a10famount%5D=4.00
gdfgdtgtrrtamount%5D=3.00

有一些方法可以做到這一點:

1:正則表達式:

x.replace(/(.+%5D=).+/, '$1' + yourNewValue);

2:字符串拆分:

var parts = x.split('%5D=');
var newString = parts[0] + '%5D=' + yourNewValue;

一個簡單的解決方案是使用replace(regExp, 'replacement') 這是一個快速示例,說明如何使用匹配模式/amount%5D=[0-9]+.[0-9]+/的正則表達式對x和x1執行此/amount%5D=[0-9]+.[0-9]+/

// 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個小數位)。 此表達僅用於說明目的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM