如何用空格替换双引号?角

问题描述

例如:

asdq123""Prueba 2"

我想要

asdq123Prueba 2

replace.pipe.ts

import { Pipe,PipeTransform } from '@angular/core';

@Pipe({
  name: 'replace'
})
export class ReplacePipe implements PipeTransform {

  transform(value: string): unkNown {
    let newValue1
    newValue1 = value.replace('ObservacionWeb','').replace(':','').replace('{','').replace('}','').replace('\"','');


    return newValue1;
  }

}

解决方法

不需要新建变量,可以返回replace的值。

您可以使用带有 alternationcharacter class 的模式将多个替换调用重构为单个调用。

ObservacionWeb|[:{}"]

如果单词 ObservacionWeb 不应成为较大单词的一部分,请使用单词边界 \bObservacionWeb\b

使用 /g 替换所有出现的更新代码可能如下所示:

return value.replace(/ObservacionWeb|[:{}"]/g,"");
,

您不必将它用于一个字符串(如您的问题中所述),Javascript 的 replaceAll 可以完成这项工作:

const str = 'asdq123""Prueba 2"';
str.replaceAll('"',''); // gives : asdq123Prueba 2

检查 String.prototype.replaceAll()


更新:

如果你想要一个管道来替换许多字符串,请按如下方式更新管道:

transform(value: string): unknown {
    let newValue1;
    newValue1 = value
      .replace(/ObservacionWeb/g,"")
      .replace(/\:/g,"")
      .replace(/\{/g,"")
      .replace(/\}/g,"")
      .replace(/\"/g,"");

    return newValue1;
  }

此管道将删除给定字符串中找到的每个 ObservacionWeb,:,{,}," 字符串。
DEMO