当前位置:  开发笔记 > 编程语言 > 正文

替换,(逗号)by.(点)和.(点)by,(逗号)

如何解决《替换,(逗号)by.(点)和.(点)by,(逗号)》经验,为你挑选了2个好方法。

我有一个字符串"1,23,45,448.00",我想用小数点替换所有逗号,用逗号替换所有小数点.

我要求的输出是"1.23.45.448,00"

我试图取代,通过.如下:

var mystring = "1,23,45,448.00"
alert(mystring.replace(/,/g , "."));

但是,在那之后,如果我尝试.,它替换它也会替换第一个被替换.,导致输出为"1,23,45,448,00"



1> Tushar..:

replace与回调函数一起使用,它将替换为,by ..by ,.函数返回的值将用于替换匹配的值.

var mystring = "1,23,45,448.00";

mystring = mystring.replace(/[,.]/g, function (m) {
    // m is the match found in the string
    // If `,` is matched return `.`, if `.` matched return `,`
    return m === ',' ? '.' : ',';
});

//ES6
mystring = mystring.replace(/[,.]/g, m => (m === ',' ? '.' : ','))

console.log(mystring);
document.write(mystring);


2> 小智..:

杜莎尔(Tushar)的做法没错,但这是另一个想法:

myString
  .replace(/,/g , "__COMMA__") // Replace `,` by some unique string
  .replace(/\./g, ',')         // Replace `.` by `,`
  .replace(/__COMMA__/g, '.'); // Replace the string by `.`

推荐阅读
wurtjq
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有