【问题标题】:How replace each accented characters with non-accented characters foreach word in array in clickhouse?如何用非重音字符替换clickhouse中数组中的每个单词的每个重音字符?
【发布时间】:2021-09-12 10:10:45
【问题描述】:

我有一系列单词,['camión', 'elástico', 'Árbol'] 和我想用非重音字符替换数组中每个单词的重音字符(['camion', 'elastico', 'A强>rbol'])

我正在搜索一些这样的

SELECT arrayMap(x -> replaceRegexpAll(x, ['á', 'é', 'í', 'ó', 'ú'], ['a', 'e', 'i', 'o', 'u']), ['camión', 'elástico', 'Árbol']) AS word

我想要这个结果:

['camion', 'elastico', 'arbol']

将每个字符的重音替换为无重音,但这不起作用...

解决的任何想法?

谢谢

【问题讨论】:

    标签: clickhouse


    【解决方案1】:
    SELECT arrayMap(x -> arrayStringConcat(
            arrayMap(y -> if((indexOf(['á', 'é', 'í', 'ó', 'ú'],y) as i) = 0, y, ['a', 'e', 'i', 'o', 'u'][i] ), extractAll(x,'.'))),
             ['camión', 'elástico', 'Árbol']) r
    
    ┌─r─────────────────────────────┐
    │ ['camion','elastico','Árbol'] │
    └───────────────────────────────┘
    

    【讨论】:

    • 我会加上大写和完美!!! SELECT arrayMap(x -> arrayStringConcat( arrayMap(y -> if((indexOf(['Á','á', 'é', 'í', 'ó', 'ú'],y) as i) = 0, y, ['a','a', 'e', 'i', 'o', 'u'][i] ), extractAll(x,'.'))), ['camión', 'elástico', 'Árbol']) r 谢谢丹尼!
    猜你喜欢
    • 2016-12-18
    • 2015-05-04
    • 2023-04-01
    • 1970-01-01
    • 2013-12-28
    • 1970-01-01
    • 2017-11-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多