我目前正在清理代码,我有一个JS表达式,它将坏代码替换为:
str.replace(/[\W_,.]/g,'-').toLowerCase();如果用户输入这个a+ñ4a_i4a,我的代码JS将其替换为=> a--4a-i4a,这个想法是好的,但是没有那么多的- - - -。如果所有连字符在一起,则应该用一个连字符替换。
所以代码应该输出a-4a-i4a
对如何替换同一个多个字符的出现有什么想法吗?
发布于 2021-05-08 19:08:07
您可以重复字符类[\W_,.]+以匹配所有连续匹配,然后用单个-替换。
console.log("a+ñ4a_i4a".replace(/[\W_,.]+/g, '-').toLowerCase());
https://stackoverflow.com/questions/67451197
复制相似问题