如何删除除#34; /"之外的特殊字符;从一个字符串?我应该使用什么样的正则表达式?
"/[^a-z0-9_\s-]/"
我正在使用这个正则表达式。它不起作用。
答案 0 :(得分:6)
在/
正则表达式语法中使用/.../
时,需要使用反斜杠转义它。或者,您可以使用RegExp
构造函数来避免转义/
:/[^\/]/
和new RegExp("[^/]")
都匹配/
以外的任何字符。
要移除除/
之外的任何特殊字符,这取决于您所谓的特殊字符,但我会使用/[^a-zA-Z0-9\/]/
。
如果您不介意下划线,可以使用/[^\w\/]/
。
它只匹配一个字符,因此您可能希望使用g
全局标记:/[^a-zA-Z0-9\/]/g
或new RegExp("[^a-zA-Z0-9/]", "g")
答案 1 :(得分:0)
试试这个
input.replace(/\W/g, function(match){ return (match == "/" ? match : "") });
function replaceExceptChar( input, specialChar )
{
return input.replace(/\W/g, function(match){ return (match == specialChar ? match : "") });
}
console.log( replaceExceptChar("asdasd2323(*(&*/", "/") );