Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/401.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/32.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 角度2逃生斜线管_Javascript_Angular_Typescript_Angular Pipe - Fatal编程技术网

Javascript 角度2逃生斜线管

Javascript 角度2逃生斜线管,javascript,angular,typescript,angular-pipe,Javascript,Angular,Typescript,Angular Pipe,我想在angular 2中创建一个管道,它将替换给定字符串中用于转义特殊字符的“\” "ghda\'nja asda\\dasda dasj\' das\'da\\d as\\as\\sad".replace(/\'/g,"'") 我现在所做的 管道等级如下所示 @Pipe({ name: 'escapeSlashPipe' }) export class EscapeSlashPipe implements PipeTransform { transform (value: str

我想在angular 2中创建一个管道,它将替换给定字符串中用于转义特殊字符的“\”

"ghda\'nja asda\\dasda dasj\' das\'da\\d as\\as\\sad".replace(/\'/g,"'")
我现在所做的

管道等级如下所示

@Pipe({
  name: 'escapeSlashPipe'
})

export class EscapeSlashPipe implements PipeTransform {
  transform (value: string): any{
    value = value.replace(/\\"/g, '"');
    return value;
  }
}
html

然后它应该会回来

"ghda'nja asda\dasda dasj' das'da\d as\as\sad"
它应该只替换用于转义字符的斜杠

"ghda\'nja asda\\dasda dasj\' das\'da\\d as\\as\\sad".replace(/\'/g,"'")
你能试试上面的并让我知道吗。它为我返回以下内容

"ghda'nja asda\dasda dasj' das'da\d as\as\sad"

使用
value.replace(/\\“/g,”)
您正在选择以下字符序列:
\“
并将其替换为以下字符

所以,你看,它只适用于双引号

你可以使用不同的东西:

let value = "Lorem \\\" ipsum \\' dolorem \\\\ javascript";
// value: Lorem \" ipsum \' dolorem \\ javascript

// Because JavaScript is already able to escape characters by itself
// So I needed to escape also the backslash

value = value.replace(/(\\)(\W)/g, '$2');
// value: Lorem " ipsum ' dolorem \ javascript

您得到的确切错误是什么,因为我已经尝试了您的代码,并且工作正常。我得到了预期的结果。它给我与输入相同的输出,返回相同的字符串。
let value = "Lorem \\\" ipsum \\' dolorem \\\\ javascript";
// value: Lorem \" ipsum \' dolorem \\ javascript

// Because JavaScript is already able to escape characters by itself
// So I needed to escape also the backslash

value = value.replace(/(\\)(\W)/g, '$2');
// value: Lorem " ipsum ' dolorem \ javascript