2016-11-04 5 views
0

Как удалить специальный символ, кроме "/" из строки? Что я должен использовать регулярное выражение?как удалить специальный символ, кроме "/"?

"/[^a-z0-9_\s-]/" 

Im использование этого регулярного выражения. Это не работает.

+1

просто добавьте '\ /' внутри инверсный класса '[^ а-z0-9_ \ s - \ /]' –

ответ

6

При использовании / в синтаксисе regex /.../ вам нужно избежать его с помощью обратной косой черты. В качестве альтернативы вы можете использовать конструктор Regex, чтобы избежать необходимости избежать /: оба /[^\/]/ и new Regex("[^/]") будут соответствовать любому персонажу, но /.

Для удаления специальных символов, но /, это зависит от того, что вы называете специальным символом, но я бы использовал /[^a-zA-Z0-9\/]/.
Если вы не против подчеркивания, вы можете использовать /[^\w\/]/.

Он соответствует только одному символу, поэтому вы, вероятно, захотите использовать глобальный флаг g: /[^a-zA-Z0-9\/]/g.

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(*(&*/", "/"));

Смежные вопросы