代码之家  ›  专栏  ›  技术社区  ›  François M.

蜂巢:重音字符与其非重音对应的字符

  •  1
  • François M.  · 技术社区  · 7 年前

    SELECT 请求已发送到配置单元?那就是去掉重音( é , ê è e )并删除其他非字母数字字符(``)。

    regexp_replace() 但我必须处理每一对重音/非重音组合。当然,还有更实用的吗?

    1 回复  |  直到 7 年前
        1
  •  1
  •   Alex Libov Sanjay Nag    7 年前

    看来你想用

    String subjectString = "öäü";
    subjectString = Normalizer.normalize(subjectString, Normalizer.Form.NFD);
    

    如中所述 Replace non ASCII character from string

    reflect Normalizer.Form

    因此,似乎必须定义单行自定义项:

    public class NormalizerUDF extends UDF {
      public String evaluate(String in) {
            return Normalizer.normalize(in, Normalizer.Form.NFD);
      }
    }