如何使用JavaScript用单个空格替换连续的特殊字符?
我的字符串:
var format = 'ASDFG#@!$QWER';
我正在使用以下代码:
format.replace(/[^a-zA-Z0-9 ]/g, ' ')
它将单个特殊字符替换为单个空格。我想用单个空格替换所有连续的特殊字符。
答案 0 :(得分:2)
您可以使用+
来表示一个或多个。因此,在您的情况下,您将使用:
var format='Test#@!$Test!#@Test#Test'
let rep = format.replace(/[^a-zA-Z0-9 ]+/g, ' ')
console.log(rep)
您也可以将\W+
用于一个或多个非单词字符,但其中不包含_
。它等效于/[^A-Za-z0-9_]/
。您可以在[\W+_]+
中加入它:
var format = 'Test#_@!$Test!#@Test#Test'
let rep = format.replace(/[\W_]+/g, ' ')
console.log(rep)