Comment échapper à backslash en JavaScript?

je veux remplacer backslash => '' par \ .

mais mon code remplaçant tous les ' # 'échoue quand demandé pour remplacer'':

el = el.replace(/#/g, '#'); // replaces all '#' //that's cool
el = el.replace(//g, '\'); // replaces all '' //that's failing

pourquoi?

12
demandé sur Alcides Queiroz Aguiar 2012-10-13 00:15:43

2 réponses

console ouverte et type

'\'.replace(/\/g, '\'); 

échoue parce que le slash dans la chaîne n'est pas vraiment dans la chaîne, il s'échappe '

'\'.replace(/\/g, '\');

fonctionne parce qu'il prend un slash et le trouve.

votre regex fonctionne.

9
répondu Funkodebat 2012-10-15 21:03:01

vous pouvez utiliser la chaîne .raw pour ajouter des slashes commodément dans vos littérales string. Par exemple: String.raw`\a\bcd\e`.replace(/\/g, '\');

0
répondu Tamas Rev 2017-09-30 19:35:46