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
如果应用于您问题中的示例数据 - 输出为
我正在尝试去除卡隆字符 (č,ć,š,ž) 并将它们转换为 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
如果应用于您问题中的示例数据 - 输出为