gpt4 book ai didi

javascript - 将 ,(逗号) 替换为 .(点) 并将 .(点) 替换为 ,(逗号)

转载 作者:可可西里 更新时间:2023-11-01 01:29:49 28 4
gpt4 key购买 nike

我有一个字符串 "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"

最佳答案

使用 replace带有回调函数,它将替换 ,通过 ..通过 , .函数的返回值将用于替换匹配的值。

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);

正则表达式:正则表达式 [,.]将匹配任何一个逗号或小数点。

String#replace() 使用函数回调将获得匹配作为参数(m),它是,.并且从函数返回的值用于替换匹配项。

所以,当第一个,从字符串匹配

m = ',';

并且在函数 return m === ',' ? '.' : ',';

等同于

if (m === ',') {
return '.';
} else {
return ',';
}

所以,基本上这是在替换 ,通过 ..通过 ,在字符串中。

关于javascript - 将 ,(逗号) 替换为 .(点) 并将 .(点) 替换为 ,(逗号),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34238005/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com