var r1a = word
.split(/[^a-z0-9\s.\|]/gi)
.join("")
.split(/([~@#$%^&*()_+=`{}\[\]\\:;<>\/ ])+/g)
.join("");
我相信我正在使用两次加入功能,这是不必要的
如果只进行一次加入,我怎么能做同样的事情呢?
答案 0 :(得分:2)
str.split(regex).join("")
可以简化为str.replace(regex, "")
。
答案 1 :(得分:1)
除了ipsec所说的,你应该能够组合正则表达式并进行一次.replace()
调用:
var word = "HESDF@#^#WEHWERJUWWHWSD654684s6dSDfW#T#SDFZ$W&&)@*#$";
var r1a = word
.split(/[^a-z0-9\s.\|]/gi)
.join("")
.split(/([~@#$%^&*()_+=`{}\[\]\\:;<>\/ ])+/g)
.join("");
var blah = word.replace(/[^a-z0-9\s.\|]|([~@#$%^&*()_+=`{}\[\]\\:;<>\/ ])+/gi,'');
console.log(r1a === blah);