如何用js正则去除不全是数字的字符串里面多余的小数点

CPU:4.0核;内存:8.0G;

希望输出 CPU:4核;内存:8G;

1.0M

希望输出 1M;

阅读 5.5k
5 个回答
'CPU:4.0核;内存:8.05G;'.replace(/\d+\.\d+/g,function(num){
    return parseFloat(num)
})
或者
'CPU:4.0核;内存:8.05G;'.replace(/\d+\.\d+/g,parseFloat)    

'CPU:4.0核;内存:8.05G;'.replace(/(\d+)\.0+(?=\D)/g, "$1")

clipboard.png

不知道会不会有问题..

str.replace(/(\d+)(\.\d+)/g,"$1")

可以使用正则断言,

'CPU:4.0核;内存:8.0G;'.replace(/(?<=\d+)\.\d+/g, '');

clipboard.png

断言很有意思呢 在上面小哥哥基础上优化了点

var ee ="CPU:4.0核;内存:8.0G;拓展:3.06363G".replace(/(\d+)\.0+\d*(?=\D)/g, "$1")

alert(ee)
推荐问题