如何删除字符串中间数字的最后一位数字

How to remove last digits from numbers in the middle of a string?

本文关键字:数字 中间 最后一位 字符串 何删除 删除      更新时间:2023-09-26

我有一个这样的字符串:

var string = "value1=12345&value2=3210&value3=..."

我想删除value1和value2的最后两位数字,所以得到的字符串是:

string = "value1=123&value2=32&value3=..."

我可以在&上拆分字符串,在项上循环并删除最后两个字符(如果项以value1或value2开头),然后用&连接项。但是如何做到尽可能短呢?

谢谢!

string = string.replace(/(value[12]='d*)'d{2}/g, '$1');

正则表达式匹配value1=value2=,后跟一系列数字。捕获组获取所有内容,直到最后2位。然后我们用捕获组替换匹配,这样最后两位数字就被删除了。

基于给定的字符串,您可以在此处使用Positive Lookahead来删除最后两位数字。

var r = "value1=12345&value2=3210&value3=...".replace(/'d{2}(?=&)/g, '');
console.log(r); //=> "value1=123&value2=32&value3=..."

如果&不总是跟在字符串后面,并且您严格希望更改value1value2。。。

var r = "value1=12345&value2=3210&value3=...".replace(/(value[12]='d*)'d{2}/g, '$1');
console.log(r); //=> "value1=123&value2=32&value3=..."