我想使用配置单元查询将字符串分成四个字符。
输入:abcdefghijkl
select split("abcdefghijkl", '([a-zA-Z0-9]{4})') from table limit 1;
输出为["","","",""]
要求的输出:["abcd","efgh","ijkl"]
答案 0 :(得分:0)
您可以使用
select split(regexp_replace("abcdefghijkl",'.*?([a-zA-Z0-9]{4})',',$1'),',') as output;
.*?([a-zA-Z0-9]{4})
模式匹配
.*?
-任意0个以上的字符,尽可能少([a-zA-Z0-9]{4})
-捕获第1组:4个字母数字字符将匹配项替换为,
和组1的内容。然后,split
用逗号分隔结果。