如何在pig中替换字符串中的'$'?

rlcwz9us  于 2021-05-29  发布在  Hadoop
关注(0)|答案(3)|浏览(537)

我们知道要替换单词我们可以使用下面的替换关键字。。。

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

以上语句将所有“a”字母替换为“b”。
但是如果我想替换美元符号($)。那我怎么办?因为在pig中,“$”表示没有列。例如,如果要将“$”从字符串替换为“$1234.56”,并希望输出为“1234.56”。

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

但这对我不管用。
有人能帮忙吗?提前谢谢。

3qpi33ja

3qpi33ja1#

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

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

5anewei62#

查看java中的字符串reglexes会很有帮助,例如:https://docs.oracle.com/javase/7/docs/api/java/util/regex/pattern.html
在您的特定情况下,可以使用以下方法: REPLACE(string, '[$]', '') 为了提高灵活性(例如在处理其他货币类型时),最好删除除“.”以外的所有非数字字符。在这种情况下,请使用: REPLACE(string, '[^\\d.]', '')

yhxst69z

yhxst69z3#

使用unicode:

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

相关问题