2016-06-27 4 views
0

私はこのような列「フルーツ」内のデータを持っている:私は何をする必要があるかフィールドの最後の文字を解析して、ブタの別の文字に置き換えるにはどうすればいいですか?

apple/green/ 
apple/red/ 
apple/brown 

は変更なしで実行する必要がありません行1で最後に「/」文字を削除し、2 3行目。私はこれをやって試してみました

apple/green 
apple/red 
apple/brown 

私の出力がなければなりません。..

b = foreach a generate (fruits), ENDSWITH(fruits,'/')==true ? REPLACE(SUBSTRING(fruits, (INT)LAST_INDEX_OF(fruits, '/'), (INT)SIZE(fruits)),''); 

は基本的に私はエンディングでスペース「」と「/」記号を交換しようとしています。

しかし、このコマンドでエラーが発生しています。誰でも助けてくれますか?

答えて

0

Bincondオペレータは、このsynthaxがあります

(condition ? value_if_true : value_if_false) 

したがって、else一部がmondatoryであり、このように書きます:

b = foreach a generate (fruits), ENDSWITH(fruits,'/')? REPLACE(SUBSTRING(fruits, (INT)LAST_INDEX_OF(fruits, '/'), (INT)SIZE(fruits)),'') :fruits ; 

以上に簡単、REPLACE機能を使用して考える:

b = foreach a generate REPLACE(fruits,'[/]$',''); 
+0

こんにちは私は2番目の方法(正規表現)を試みて、それは働いた。ありがとうございました! – crossemup

関連する問題