2016-04-22 15 views
1

何とか{{mystr | split(last) }}と似たようなものを使用できますか?Angular2分割文字列(パイプ?)

すでにパイプが含まれていることを期待しています。

+0

あなたは、私が最初の文字を取得するには、これを逆にするにはどうすればよいの詳細 –

答えて

6

このためにカスタムパイプが必要です。あなたはこれをこのように実現することができます。

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

とこのようにそれを使用する:lastは、セパレータに該当するコンポーネントのプロパティである

{{mystr | split:last }} 

0

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

+0

を提供することができ? –

+0

@ ObasiObenyOj、pop()の代わりにshift()を使用します。 –