2015-09-11 3 views
1

У меня есть строка внизу. Мне нужно удалить все специальные символы и пробелы.Заменить специальный символ и пробел из строки в javascript

var Uid = "s/Information Needed1-s84102-p306"; 

Я пробовал приведенный ниже код. Он не заменил пространство из строки.

console.log(Uid.replace(/[^\w\s]/gi, '')}") 

Выход: - sInformation Needed1s84102p306

Я хочу, чтобы на выходе, как sInformationNeeded1s84102p306

+0

Просьба уточнить, если '_' должны быть удалены или нет. –

ответ

4

Просто попробуйте использовать

/[\W_]/g 
  • \W соответствует любому несловообразующим характер [^a-zA-Z0-9_]

Включено _ если вы хотите, чтобы удалить его, то

Regex

2

Вы можете просто использовать:

console.log(Uid.replace(/\W+/g, '')}") 

\W будет соответствовать любой не- символ слова, включая пробел.

RegEx Demo

+0

вам действительно не нужен +, правильно? так как у вас есть g. – potatopeelings

+1

Даже если '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' 'подходит для эффективности, – anubhava

1

Вы можете использовать это выражение для случая

var x = "s/Information Needed1-s84102-p306"; 
console(x.replace(/[^A-Z0-9]/ig, "")); 

Здесь работает Link

+1

Интересно, что это решение может оказаться лучше, если '_' тоже нужно удалить. –

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