Как избежать обратной косой черты в JavaScript?
Я хочу заменить обратную косую черту = > '\' на безопасную замену \
.
Но мой код, заменяющий все "#", терпит неудачу при применении для замены "\":
el = el.replace(/\#/g, '#'); // replaces all '#' //that cool
el = el.replace(/\\/g, '\'); // replaces all '\' //that failing
Почему?
Ответы
Ответ 1
откройте консоль и введите
'\'.replace(/\\/g, '\');
терпит неудачу, потому что косая черта в строке на самом деле не находится в строке, она ускользает от
'\\'.replace(/\\/g, '\');
работает, потому что он принимает одну косую черту и находит ее.
ваше регулярное выражение работает.
Ответ 2
Вы можете использовать String.raw для удобного добавления косых черт в ваши строковые литералы. Например. String.raw`\a\bcd\e`.replace(/\\/g, '\');