删除pig latin中字符串中的非ASCII字符

时间:2016-10-06 17:12:36

标签: apache-pig

如何在不使用UDF的情况下从猪拉丁语中的字符串中删除非ASCII字符?

A℅♂♀¶【◆】◆℃b刺痛 Ab sting

2 个答案:

答案 0 :(得分:1)

你必须像这样创建udf

package pig.udfs;

import java.io.IOException;

import org.apache.pig.EvalFunc;
import org.apache.pig.data.Tuple;

public class NonASCI extends EvalFunc<String> {
    public String exec(Tuple v) throws IOException{
        String val = (String)v.get(0);
        String non_asci = val.replaceAll("[^\\x20-\\x7e]", "");
        return non_asci;
    }

}
希望他会帮助你!!

答案 1 :(得分:0)

我没有尝试过,但您可以使用regex that matches non-ASCII字符+猪REPLACE内置函数。

E.g。

stripped = foreach dirty_data generate REPLACE(dirty_data.string_field, '[^u0000-u007F]+', '');