我们知道要替换单词我们可以使用下面的替换关键字。。。
RELATION = FOREACH data GENERATE REPLACE(string,'a','b');
以上语句将所有“a”字母替换为“b”。
但是如果我想替换美元符号($)。那我怎么办?因为在pig中,“$”表示没有列。例如,如果要将“$”从字符串替换为“$1234.56”,并希望输出为“1234.56”。
RELATION = FOREACH data GENERATE REPLACE(string,'$','');
但这对我不管用。
有人能帮忙吗?提前谢谢。
3条答案
按热度按时间3qpi33ja1#
这对我有用:(三个反斜杠)
5anewei62#
查看java中的字符串reglexes会很有帮助,例如:https://docs.oracle.com/javase/7/docs/api/java/util/regex/pattern.html
在您的特定情况下,可以使用以下方法:
REPLACE(string, '[$]', '')
为了提高灵活性(例如在处理其他货币类型时),最好删除除“.”以外的所有非数字字符。在这种情况下,请使用:REPLACE(string, '[^\\d.]', '')
yhxst69z3#
使用unicode: