问题描述
例如:
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的值。
您可以使用带有 alternation 和 character 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