let a = "`!@A#$%A^&*A 789^&*(+_)JH?></.,":';-";
我需要删除除dash之外的所有非alphanum字符,并用一个空格替换多个空格。
所以结果应该是 - AAA 789JH-
这是我的尝试 - 没有成功:
a = a.replace("[^A-Za-z0-9 -]","");
a = a.replace(/\s\s+/g, ' ');
你可以用
a.replace(/[^A-Za-z0-9 -]+/g,"").replace(/\s{2,}/g, ' ')
/[^A-Za-z0-9 -]+/g
正则表达式将匹配除字母,数字,空格或/和连字符之外的1个或更多(参见g
量词)字符的多次出现(+
修饰符)。
如果需要匹配任何空格,请用\s
替换空格。
请注意,\s\s+
等于\s{2,}
,其中{2,}
是limiting quantifier,匹配2次或更多次量化模式。
看JS演示:
let a = "`!@A#$%A^&*A 789^&*(+_)JH?></.,\":';-";
console.log(a.replace(/[^A-Za-z0-9 -]+/g,"").replace(/\s{2,}/g, ' '));