簡體   English   中英

Angular2逃生斜線管

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM