为了账号安全,请及时绑定邮箱和手机立即绑定

用点替换逗号并删除所有点,但最后一个正则表达式

用点替换逗号并删除所有点,但最后一个正则表达式

慕森卡 2021-10-21 14:48:31
我想执行以下操作:将逗号分隔符更改为指向并删除除最后之外的所有点(例如 123,123.11 -> 123.123.11 -> 123123.11)这就是我的做法:let val = '123,123.11'val = val ? val.replace(',', '.').replace(/\.(?=.*\.)/g, '') : '';console.log(val)是否可以只用一个替换而不是两个替换来完成?(我很确定它是,但我是正则表达式的菜鸟,所以会感谢所有的答案以及你是如何学习正则表达式的)愚蠢的我刚刚意识到为什么我首先将所有逗号更改为点,因为如果我切换到德语,数字会变成42.334,83我的格式变得不正确.replace(/,/g, '') : '',所以我首先将所有逗号更改为点,然后删除除最后一个以外的所有点,但这似乎是笨拙的解决方案
查看完整描述

3 回答

?
慕仙森

TA贡献1827条经验 获得超8个赞

如果你想要一个非正则表达式的解决方案,你可以用逗号分割并加入一个空字符串。


console.log('123,123.11'.split(',').join(''))


console.log('123,456,789.987'.split(',').join(''))


查看完整回答
反对 回复 2021-10-21
?
幕布斯6054654

TA贡献1876条经验 获得超7个赞

是的,通过/,|\.(?=.*\.)/


这个想法是使用 RegEx |(管道)字符来匹配和替换除了您匹配的句点之外的所有逗号。


let val = '123,123.11'


val = val ? val.replace(/,|\.(?=.*\.)/g, '') : '';


console.log(val)


查看完整回答
反对 回复 2021-10-21
?
元芳怎么了

TA贡献1798条经验 获得超7个赞

const result =  "55,123,123.11".replace(/,/g, '');
    console.log(result);


查看完整回答
反对 回复 2021-10-21
  • 3 回答
  • 0 关注
  • 154 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信