[英]Angular2 escape slash Pipe
我想創建一個角度為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
"ghda\'nja asda\\dasda dasj\' das\'da\\d as\\as\\sad".replace(/\'/g,"'")
您可以嘗試上述方法,並讓我知道。 它為我返回了以下內容,
"ghda'nja asda\dasda dasj' das'da\d as\as\sad"
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.