大家好,我现在得到了一个管道,该管道返回每个单词的首字母大写,其余小写的字母。它还会从值中删除所有非英语字符。我需要添加':'char,以便它可以显示而不是将其删除,该怎么办?
现在的例子:@# test: me #@
输出:Test Me
应该如何:Test: Me
在下面发布我的代码:
import { Pipe, PipeTransform } from '@angular/core';
@Pipe({
name: 'special'
})
export class SpecialPipe implements PipeTransform {
transform(value: string): string {
let newVal = value.replace(/[^\w\s]/gi, '').toLocaleLowerCase();
return this.titleCase(newVal);
}
titleCase(str) {
var splitStr = str.toLowerCase().split(' ');
for (let i = 0; i < splitStr.length; i++) {
splitStr[i] = splitStr[i].charAt(0).toUpperCase() + splitStr[i].substring(1);
}
return splitStr.join(' ');
}
}
最佳答案
只需更新您的正则表达式,使其还排除:字符即可删除:
value.replace(/[^\w\s:]/gi, '')