Javascript 从字符串和空格中删除多个字符
嘿,伙计们,我正试图从一个字符串中删除两个字符和任何空白Javascript 从字符串和空格中删除多个字符,javascript,regex,Javascript,Regex,嘿,伙计们,我正试图从一个字符串中删除两个字符和任何空白 var num1 = "34 345 324.34 $" var num2 = "$34,345,324.34" 我基本上想删除$和,和空白 到目前为止,我有这个 num1.replace(/,|\s/g,""); //34345324.34$ num2.replace(/,|\s/g,""); //$34345324.34 如何删除$ 谢谢。对于字符串开头(或结尾)的空白,请使用str.trim(),它将从包含尾随空格的字符串的开头
var num1 = "34 345 324.34 $"
var num2 = "$34,345,324.34"
我基本上想删除$
和,
和空白
到目前为止,我有这个
num1.replace(/,|\s/g,""); //34345324.34$
num2.replace(/,|\s/g,""); //$34345324.34
如何删除$
谢谢。对于字符串开头(或结尾)的空白,请使用
str.trim()代码>,它将从包含尾随空格的字符串的开头和/或结尾删除所有尾随空格。要删除所有点、空格和美元,请在正则表达式中添加美元符号(转义):
/,|\s|\$/g
或者干脆
/[,\s\$]/g
演示:
var num1=“34 345 324.34$”
var num2=“$34345324.34”
var res1=num1.replace(/[,\s\$]/g,”)//34345324.34
var res2=num2.replace(/[,\s\$]/g,”)//34345324.34
console.log(res1)
log(res2)
您似乎在处理货币字符串。您可以遵循黑名单方法,使用.replace(/[,\s$]+/g,”)
删除所有出现的1+逗号、空格和美元符号。然而,一旦你有了英镑、欧元、日元等货币符号,你就必须更新正则表达式
使用白名单方法更容易,删除白名单以外的所有字符、数字和点:
.replace(/[^0-9.]+/g,"")
看
[^0-9.]+
匹配任何字符的1次或多次出现,而不是([^…]
是一个与反向字符范围/集匹配的否定字符类)数字和点
JS演示:
var nums=[“34345324.34美元”,“34345324.34美元];
变量rx=/[^0-9.]+/g;
用于(nums的var s){
console.log,“=>”,s.replace(rx)”;
}
替换(/[$,\s]/g,”)
。替换(/[$,\s]+/g,”)代码>只保留数字和小数点不是更健壮吗?例如,num2.替换(/[^\d.]/g',)