我想在 Angular 2 中创建一个管道,它将替换给定字符串中用于转义特殊字符的“\”。
到目前为止我做了什么,
管道类如下
@Pipe({
name: 'escapeSlashPipe'
})
export class EscapeSlashPipe implements PipeTransform {
transform (value: string): any{
value = value.replace(/\\"/g, '"');
return value;
}
}
html
<p>{{message | escapeSlashPipe}}</h4>
输入示例
"ghda\'nja asda\\dasda dasj\' \"das\'da\\d as\\as\\sad"
然后它应该返回
"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
关于javascript - Angular2 转义斜线管道,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47089904/