javascript - Angular2 转义斜线管道

标签 javascript angular typescript angular-pipe

我想在 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/

相关文章:

html - 输入字段中的必需标记在 Angular html 文件中不起作用?

node.js - 无法获取/错误

angular - 使用通用提供程序进行延迟加载

javascript - 屏蔽社会安全号码输入

javascript - 无法更改js节点文本的颜色

Angular Ionic3 TypeScript - 从数组拼接后出现“"TypeError: Cannot read property ' name' of undefined”

Angular - 如何在数据库中创建动态 ng-model 存储

angular - 如何包装 Angular 组件并将 ng-template 从外部组件传递到内部组件

javascript - Firefox 不显示 'title' 属性

javascript - 如何使用 Node.js 在 mysql 上进行嵌套查询?