如何替换' $'来自猪的字符串?

时间:2016-01-23 18:24:05

标签: hadoop apache-pig

我们知道替换单词我们可以使用REPLACE关键字如下...

RELATION = FOREACH data GENERATE REPLACE(string,'a','b');

以上声明取代所有' a'写给' b'。

的信件

但如果我想替换美元符号($)。那我怎么能这样做?因为在Pig' $'表示没有列。例如,如果想要替换' $'来自#1234.56' $ 1234.56'并希望输出像' 1234.56'。

RELATION = FOREACH data GENERATE REPLACE(string,'$','');

但这不适合我。

有人可以帮忙吗?提前谢谢。

3 个答案:

答案 0 :(得分:0)

使用Unicode:

    REPLACE(string,'\u0024','')

答案 1 :(得分:0)

查看Java中的字符串regrex会很有帮助,例如:https://docs.oracle.com/javase/7/docs/api/java/util/regex/Pattern.html

在您的特定情况下,您可以使用以下内容: REPLACE(string, '[$]', '')

为了提高灵活性(例如,在处理其他货币类型时),删除所有非数字字符可能是个好主意,除了'。'。在这种情况下使用: REPLACE(string, '[^\\d.]', '')

答案 2 :(得分:0)

这对我有用:(三反斜杠)

REPLACE(string,'\\\$','')