2016-06-15 7 views
0

Существует следующий пример строки:Как добавить косую черту в строку JS?

var s = "abcdwq'xx'x"; 

Как экранировать обычные кавычки, то есть добавить слэш? Я пытался использовать следующий код:

s.replace('/(["\'\])/g', "\\$1") 

но это не работает. Заранее спасибо

ответ

8

Не ставьте регулярное выражение в кавычки, что делает его обычной строкой.

var s = "abcdwq'xx'x"; 
 
console.log(s.replace(/(["'])/g, "\\$1"));

Кроме того, вы спасаясь от ], который заканчивается [.

Если вы просто хотите избежать одиночных кавычек, вам не нужны скобки или группа захвата. Вобще:

var s = "abcdwq'xx'x"; 
 
console.log(s.replace(/'/g, "\\'"));

+0

т.е. вы имеете в виду, я должен удалить [и] из моего регулярного выражения? – malcoauri

+0

@malcoauri Нет, '\]' выходит из '' '', поэтому он больше не представляет собой закрытие класса символов. Другими словами '/ [\] /' является недопустимым регулярным выражением. –

+0

@malcoauri Нет, я имею в виду, что перед ']' не должна иметь обратную косую черту. – Barmar

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