首页 > 解决方案 > 如何通过 PIPE 中的正则表达式以 4 角分割字符串?

问题描述

我想从 HTML 传递正则表达式格式,并想在除“_”之外的所有特殊字符和空格上拆分字符串。

例如:#abc_xyz defgh // 输出 #abc_xyz

例如:#abc@xyz defgh // 输出 #abc

例如:#abc%xyz&defgh // 输出 #abc

例如:#abc$xyz*defgh // 输出 #abc

我正在使用下面的代码

拆分管道.ts

import { Pipe, PipeTransform } from '@angular/core';

@Pipe({
  name: 'splitString'
})
export class splitString implements PipeTransform {
transform(value:string, [separator]):string {
    let reg = new RegExp (separator);
    let splits = value.split(separator);
    if(splits.length > 1) {
   // FOR LOOP - Check index [0],[1].. are not empty. If value is Empty then Don't return.
        for( let i=0; i<splits.length;i++){ 
            if(splits[i].length > 0){
                return splits[i];
            }
        }
    } else {
      return '';
    }
  }
}

myComponent.html {{ 数据 | splitString:"(?:^|\s)\#(\w+)"}}

标签: angulartypescript

解决方案


可能低于一个会帮助你。

{{ data | splitString:["(?:^|\s)\#(\w+)"] }}

推荐阅读