从雪花中的字符串中删除变音符号[重复]

Posted

技术标签:

【中文标题】从雪花中的字符串中删除变音符号[重复]【英文标题】:Remove Diacritics from string in Snowflake [duplicate] 【发布时间】:2021-11-01 00:31:40 【问题描述】:

我想使用 Snowflake SQL 从字符串列中删除所有变音符号。 例如:ä, ö, é, č => a, o e, c

我承认 TRANSLATE 功能可以工作,但仅适用于单个大小写,而有很多带有重音的字母需要翻译。

你能给我一些提示吗? 提前非常感谢, 哈哈

【问题讨论】:

我投票决定将此问题作为重复问题结束(这能回答您的问题吗?Removing accents from string in Snowflake),而 Greg 在下面的回答很棒。 【参考方案1】:

也许确保它涵盖所有字符的最安全方法是起草 ES2015/ES6 中的工作以涵盖所有字符,如下所示:

create or replace function REPLACE_DIACRITICS("str" string)
returns string
language javascript
strict immutable
as
$$
    return str.normalize("NFD").replace(/\pDiacritic/gu, "");
$$;

select REPLACE_DIACRITICS('ö, é, č => a, o e, c');

UDF 的 JS 由这篇文章提供: Remove accents/diacritics in a string in JavaScript

【讨论】:

我刚刚注意到这是一个副本:***.com/questions/66606576/… 我知道了,非常感谢您的帮助:)

以上是关于从雪花中的字符串中删除变音符号[重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何从 .NET 中的字符串中删除变音符号(重音符号)?

在 JavaScript 中删除字符串中的重音符号/变音符号

C#中的字符串替换变音符号[重复]

python 删除变音符号去掉文本中字符的附加符号

用英语等价物替换德语字符(变音符号、重音符号)

NLog 不能正确写入变音符号 [重复]