Angular2分裂弦(管?)

时间:2016-04-22 12:20:24

标签: split angular

是否有可能以某种方式使用类似于{{mystr | split(last) }}的东西?

我希望已经有一个管道。

2 个答案:

答案 0 :(得分:7)

您需要一个自定义管道。你可以这样实现:

@Pipe({
  name: 'split'
})
export class SplitPipe implements PipeTransform {
  transform(val:string, params:string[]):string[] {
    return val.split(params[0]);
  }
}

并像这样使用它:

{{mystr | split:last }}

其中last是组件的一个属性,对应于分隔符。

答案 1 :(得分:3)

我不确定last是什么。如果你用一些分隔符将字符串分开,我猜你的意思是你想要字符串中的最后一组字符。例如,如果字符串为abc,def,ghi且分隔符为,,那么您需要ghi

@Pipe({ name: 'splitLast' })
export class SplitLastPipe implements PipeTransform {
  transform(value:string, [separator]):string {
    let splits = value.split(separator);
    if(splits.length > 1) {
      return splits.pop();
    } else {
      return '';
    }
  }
}

{{mystr | splitLast:','}}

Plunker