首页 > 解决方案 > 将字符添加到管道 Angular

问题描述

嘿,伙计们,现在我有一个管道,它以第一个大写字母和每个单词的其余小写形式返回字母。它还会从值中删除所有非英语字符。我需要添加 ':' 字符,这样它才能显示而不是删除它,怎么做?

现在的例子:

@# 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(' '); 
    }

    }

标签: javascriptangulartypescriptpipe

解决方案


只需更新您的正则表达式以排除 : 字符被删除:

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

推荐阅读