1
如何将发送给蜂巢的SELECT
请求中的非ascii字符替换为ascii对应字符?删除了重音符(é
,ê
,è
=>e
),并删除了其他非字母数字字符(``)。蜂巢:非重音字母的重音字符
我知道我可以使用regexp_replace()
但我必须处理每一个重音/非重音对。当然,有更实际的东西?
如何将发送给蜂巢的SELECT
请求中的非ascii字符替换为ascii对应字符?删除了重音符(é
,ê
,è
=>e
),并删除了其他非字母数字字符(``)。蜂巢:非重音字母的重音字符
我知道我可以使用regexp_replace()
但我必须处理每一个重音/非重音对。当然,有更实际的东西?
看来你要使用
String subjectString = "öäü";
subjectString = Normalizer.normalize(subjectString, Normalizer.Form.NFD);
正如 Replace non ASCII character from string
说明我一直在使用reflect尝试,但不能使它工作由于Normalizer.Form
枚举参数。
所以,看来你必须定义一个单行UDF:
public class NormalizerUDF extends UDF {
public String evaluate(String in) {
return Normalizer.normalize(in, Normalizer.Form.NFD);
}
}