Удаление специальных символов из строки в угловых - PullRequest
0 голосов
/ 06 октября 2018

Допустим, я получил строку со специальными символами, и я хочу использовать фильтр / канал, чтобы изменить ее.Также первая буква каждого слова должна быть заглавной.

Например, "@!₪ test stri&!ng₪" станет "Test String".

Как это можно сделать?

Ответы [ 3 ]

0 голосов
/ 06 октября 2018

использование с веб-сайта: Regex101

Например: Вы хотите разделить или удалить строку обычного: '@! ₪ test stri &! Ng ₪' Введите строку в Test String

0 голосов
/ 06 октября 2018

Для этого вы можете использовать регулярное выражение вместе с replace в вашем канале.

Во-первых, используйте

str = str.replace(/[^\w\s]/gi, "")

Это удалит все не-буквенные символы

Затем вы можете использовать

str = str.replace(/\b\w/g, (str) => str.toUpperCase())

Это заменит любой буквенный символ, который находится рядом с границей слова (например, пробел), заглавной версией.

Вы можетезатем соедините все вместе, вот так:

let str = "@!₪ test stri&!ng₪";

str = str.replace(/[^\w\s]/gi, "") // Remove non word characters
         .trim() // Remove trailing and leadings spaces
         .replace(/\b\w/g, (s) => s.toUpperCase()) // Make the first letter of each word upper case

console.log(str);
0 голосов
/ 06 октября 2018

Вы можете сделать с трубой следующим образом:

import { Pipe, PipeTransform } from '@angular/core';
@Pipe({
  name: 'specialPipe'
})
export class specialPipe implements PipeTransform {

  transform(value: string): string {
    let newVal = value.replace(/[^\w\s]/gi, '')
    return newVal.charAt(1).toUpperCase() + newVal.slice(2);
  }

}

DEMO STACKBLITZ

...