javascript - 将字符添加到管道 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(' ');
}
}
解决方案
只需更新您的正则表达式以排除 : 字符被删除:
value.replace(/[^\w\s:]/gi, '')
推荐阅读
- python - 如何通过 Postman 获取 XML 格式的 POST 请求正文作为 Flask 中的字典?
- git - 如何检测*合并提交*是否已经在分支中被选中?
- wordpress - 我试图在 wordpress 中创建基于令牌的身份验证
- python - Django在基于foreginKey值的模板中使用条件?
- azure - 尝试推送到 Azure 容器实例时出现 Docker Compose 错误
- python - 使用机器学习模型进行推理时如何使用 UUID?
- python - Cron 无法通过 Python 找到 selenium 的 Chromedriver 的可执行路径
- c - 在定义和声明之间混合使用静态、外部和内联关键字
- sql - 雪花中“当与源不匹配时删除”的合并等效项是什么?
- sql - 'Unpivoting' 一个 SQL 表 - 更新