将,(逗号)替换为.(点)和.(点)by,(逗号)
Replace ,(comma) by .(dot) and .(dot) by ,(comma)
我有一个字符串"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);
Regex:正则表达式[,.]
将匹配逗号或小数点中的任何一个。
带有函数回调的String#replace()
将获得匹配作为参数(m
),该参数是,
或.
,并且从函数返回的值用于替换匹配。
因此,当字符串中的第一个,
与匹配时
m = ',';
在函数return m === ',' ? '.' : ',';
中
相当于
if (m === ',') {
return '.';
} else {
return ',';
}
所以,基本上这是用.
替换,
,用,
替换.
。
Tushar的方法没有错,但这里有另一个想法:
myString
.replace(/,/g , "__COMMA__") // Replace `,` by some unique string
.replace(/'./g, ',') // Replace `.` by `,`
.replace(/__COMMA__/g, '.'); // Replace the string by `.`
相关文章:
- Javascript,有没有一种方法可以将数组写成没有逗号或空格的单个文本字符串
- 使用正则表达式将输入格式设置为单字符逗号、单字符逗号等
- 我如何在数字插入中使用逗号,这样它就不会'不要破坏我的输入字段
- javascript函数内部的代码用逗号而不是分号分隔
- regex表示逗号,后跟空格或仅逗号
- React Native-What'It’在任何地方都要留下逗号
- 输出中的逗号
- 计算输入中有多少逗号分隔的字符串
- RegEx查找4位数字前后的逗号
- 需要javascript函数允许逗号和空格
- JS parseInt带逗号的字符串
- 比较逗号分隔的字符串
- Javascript:替换冒号和逗号字符
- 如何使用JavaScript forloop从JSON中删除最后一个逗号
- regex如何删除特定单词后的逗号
- 当李点击时,如何用(逗号)附加输入值
- 通过jQuery函数将拉丁数字更改为波斯数字并添加逗号
- getDocument by id/get input text from button dons'不起作用
- 用逗号分割字符串,格式化后显示
- 将,(逗号)替换为.(点)和.(点)by,(逗号)