【问题标题】:BigQuery UDF to remove accents/diacritics in a stringBigQuery UDF 删除字符串中的重音符号/变音符号
【发布时间】:2021-10-21 15:58:17
【问题描述】:

使用这个 javascript 代码,我们可以删除字符串中的重音符号/变音符号。

var originalText = "éàçèñ"
var result = originalText.normalize('NFD').replace(/[\u0300-\u036f]/g, "")
console.log(result) // eacen

如果我们创建 BigQuery UDF,它不会(即使使用双 \)。

 CREATE OR REPLACE FUNCTION project.remove_accent(x STRING)
RETURNS STRING
  LANGUAGE js AS """
  return x.normalize("NFD").replace(/[\u0300-\u036f]/g, "");
""";

SELECT project.remove_accent("éàçèñ") --"éàçèñ"

对此有什么想法吗?

【问题讨论】:

    标签: google-bigquery bigquery-udf unaccent


    【解决方案1】:

    考虑以下方法

    select originalText, 
      regexp_replace(normalize(originalText, NFD), r"\pM", '') output
    

    如果应用于您问题中的样本数据 - 输出是

    如果您愿意,可以使用 SQL UDF 轻松包装它

    【讨论】:

      猜你喜欢
      • 2022-01-03
      • 2010-09-19
      • 2012-12-10
      • 2015-08-30
      • 1970-01-01
      • 2011-04-07
      相关资源
      最近更新 更多