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

09-26 13:59