Javascript 向管道添加字符

Javascript 向管道添加字符,javascript,angular,typescript,pipe,Javascript,Angular,Typescript,Pipe,嘿,伙计们,现在我有一个管道,它将字母返回为每个单词的第一个大写字母,其余的小写字母。它还将从值中删除所有非英语字符。我需要添加“:”字符,这样它将允许它显示,而不是删除它,如何才能做到这一点 现在举个例子: @#测试:我#@ 输出: 测试Me 应该如何: 测试:Me 在下面张贴我的代码: import { Pipe, PipeTransform } from '@angular/core'; @Pipe({ name: 'special' }) expor

嘿,伙计们,现在我有一个管道,它将字母返回为每个单词的第一个大写字母,其余的小写字母。它还将从值中删除所有非英语字符。我需要添加“:”字符,这样它将允许它显示,而不是删除它,如何才能做到这一点

现在举个例子:

@#测试:我#@

输出:

测试Me

应该如何:

测试: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(' '); 
    }

    }
从'@angular/core'导入{Pipe,PipeTransform};
@烟斗({
名称:“特别”
})
导出类SpecialPipe实现PipeTransform{
转换(值:字符串):字符串{
让newVal=value.replace(/[^\w\s]/gi',).toLocaleLowerCase();
返回此.titleCase(newVal);
}
滴定酶(str){
var splitStr=str.toLowerCase().split(“”);
对于(设i=0;i
只需更新您的正则表达式,即可将:字符从删除中排除:

value.replace(/[^\w\s:]/gi, '')

@hindi1991不客气,这是一个学习的好地方:)解释一下:
[^…]
意味着排除
..
中的字符
\w
表示文字字符,即字母、数字和下划线
\s
表示空格字符,如空格、制表符或新行。您所要做的就是在要从替换函数中排除的字符列表中添加