В JavaScript эквивалент префикса C # @
равен String.raw
, за которым следует шаблонный литерал (обратите внимание на backtics).
И для замены всех вхождений, а не только одного, вам нужно передать регулярное выражение в replace
с модификатором g
.
var str=String.raw`\E\\E\10.1.2.154\E\bcs\E\30877_P9999_Adult{2}_02_05_2019_0329p.pdf`;
var res=str.replace(/\\E/g, '');
console.log(res);
Примечание: обратная косая черта в регулярном выражении является escape-символом, поэтому вам нужно \\
для одной буквенной обратной косой черты.
Если по какой-то причине вы действительно хотите избежать использования регулярных выражений, то есть трюк split/join
, но он немного медленнее:
var str=String.raw`\E\\E\10.1.2.154\E\bcs\E\30877_P9999_Adult{2}_02_05_2019_0329p.pdf`;
var res=str.split(String.raw`\E`).join('');
console.log(res);
Старые двигатели JS
Для более старых двигателей JS, которые не поддерживают String.raw
, необходимо использовать стандартные строковые литералы, которые используют обратную косую черту в качестве escape-символа,Тогда вам нужно удвоить их все.Но это нужно только тогда, когда вы пишете строку как литерал.Когда вы получаете строку через некоторый API, нет необходимости изменять строку перед выполнением замены:
var str='\\E\\\\E\\10.1.2.154\\E\\bcs\\E\\30877_P9999_Adult{2}_02_05_2019_0329p.pdf';
var res=str.replace(/\\E/g, '');
console.log(res);