BQ函数将caron字符从字符串转换为没有caron的字符

BQ function to transform caron character from a string to character without caron

我正在尝试去除卡隆字符 (č,ć,š,ž) 并将它们转换为 c,c,s,z :

with my_table as (
    select 'abcčd sštuv' caron, 'abccd sstuv' no_caron union all
    select 'uvzž', 'uvzz' union all
    select 'ijkl cČd', 'ijkl cCd' union ALL
    select 'Ćdef', 'Cdef'
)
SELECT *
FROM my_table

我试图用

摆脱它们
SELECT *,
    regexp_replace(caron, r'š', 's') as no_caron
FROM my_table

但我认为这是低效的。我知道有一个选项可以按照描述编写你的函数 here,但我不知道如何在我的案例中使用它。

提前致谢!

下面使用

SELECT *, regexp_replace(normalize(caron, NFD), r"\pM", '') output
FROM my_table      

如果应用于您问题中的示例数据 - 输出为