将字符添加到管道Angular

时间:2018-10-08 11:45:38

标签: javascript angular typescript pipe

大家好,我现在得到了一个管道,该管道返回每个单词的首字母大写和其余小写的字母。它还会从值中删除所有非英语字符。我需要添加':'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(' '); 
    }

    }

1 个答案:

答案 0 :(得分:1)

只需更新您的正则表达式,使其还排除:字符即可被删除:

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