如何通过PIPE中的正则表达式将字符串拆分为角度4?

时间:2019-04-05 09:43:31

标签: angular typescript

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

  

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

     

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

     

Ex:#abc%xyz&defgh //输出#abc

     

Ex:#abc $ xyz * defgh //输出#abc

我正在使用以下代码

  

split.pipe.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 +)”}}

1 个答案:

答案 0 :(得分:0)

可能低于1会对您有所帮助。

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