somevar = ' 150,00 $';
someothervar = '$25.0;
我想删除美元符号,空格,逗号或点。
尝试somevar.replace(/('$'|' '|,|\.)/g,'');
返回15000 $
(领先空格)。
所以看起来像是删除了逗号而不是其他所有内容?
我可以这样:
somevar.replace(/\$/g,'').replace(/ /g,'').replace(/,/g,'')
但肯定有一个更优雅的'方式是什么?
答案 0 :(得分:2)
您可以使用/[$,.\s]/g
:
' 150,00 $'.replace(/[$,.\s]/g, '');
// "15000"
'$25.0'.replace(/[$,.\s]/g, '');
// "250"
您的正则表达式无法正常工作,因为您需要转义$
字符,并删除单引号。您可以使用:/\$| |,|\./g
。
或者,您也可以使用/\D/g
替换所有非数字字符:
' 150,00 $'.replace(/\D/g, '');
// "15000"
'$25.0'.replace(/\D/g, '');
// "250"
答案 1 :(得分:2)
我会:
var somePriceString = "$$2.903.5,,,3787.3";
console.log(somePriceString.replace(/\D/g,''));
如果我想删除任何非数字字符。