我们知道替换单词我们可以使用REPLACE关键字如下...
RELATION = FOREACH data GENERATE REPLACE(string,'a','b');
以上声明取代所有' a'写给' b'。
的信件但如果我想替换美元符号($)。那我怎么能这样做?因为在Pig' $'表示没有列。例如,如果想要替换' $'来自#1234.56' $ 1234.56'并希望输出像' 1234.56'。
RELATION = FOREACH data GENERATE REPLACE(string,'$','');
但这不适合我。
有人可以帮忙吗?提前谢谢。
答案 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,'\\\$','')