2017-02-13 80 views
1

私はTableauでREGEXP_EXTRACT関数を成功させようとしています(下の図を参照)。私は文字列 'FOB'を持っています。大文字を抽出したいと思います。時にはそこ大文字以下のダッシュは、時々ではありませんので、私は作成したフィールド「広告主」で次の構文を使用:ただし、これは「ヌル」の完全な列を生成TableauでREGEXP_EXTRACTを使用して文字列を抽出するときに "null"を取得する

REGEXP_EXTRACT([FOB],'^[A-Z]*') 

。変わったことは、パターンを '^ [A-Z] *'から 'SDM'に変更したとしても、それはまだ同じです。 Tableauは正規表現を有効にしていないようです...

私は正規表現のオンラインhereをチェックしました。それはうまくいっています...本当に混乱すると、どんな助けもありがたいです。

enter image description here

+0

これらの大文字は常に最初の文字ですか? –

+0

@WiktorStribiżewyes –

答えて

3

あなたは各[FOB]列のセルの最初の文字を抽出する必要があるので、あなたがしてパターンをラップする必要が^アンカーと[A-Z]文字クラス、を使用する必要がなく、 キャプチャグループは、あなたがこのパターンの一部を抽出するために必要なタブローを伝えるために(すなわち(...)、括弧をペア):

REGEXP_EXTRACT([FOB],'^([A-Z])') 
        ^ ^

は、すべての(一つ以上)をリードする大文字を抽出+を追加するには:

REGEXP_EXTRACT([FOB],'^([A-Z]+)') 
          ^

Mark Jackson's regex blog excerptを参照してください:

全体のパターンは、パターンのどの部分を返すためにタブローを伝えるために括弧に包まれています。これは私がこの投稿を作成したときに使用していた以前のベータ版からのアップデートです。この追加についての良い点は、Tableauでは文字列の大部分のパターンマッチングを可能にしますが、パターンのサブセットを返すことができることです。

+1

すばらしい!出来た。ありがとう@WiktorStribiżew! –

関連する問題