是否有更好的方法可以在regexp_matches的结果中修剪{""}
而不是:
trim(trailing '"}' from trim(leading '{"' from regexp_matches(note, '[0-9a-z \r\n]+', 'i')::text))
答案 0 :(得分:26)
regexp_matches()
返回所有匹配项的数组。数组的字符串表示包含花括号,这就是你得到它们的原因。
如果您只想要所有匹配项的列表,可以使用array_to_string()
将结果转换为“简单”文本数据类型:
array_to_string(regexp_matches(note, '[0-9a-z \r\n]+', 'i'), ';')
如果您只对第一场比赛感兴趣,可以选择阵列的第一个元素:
(regexp_matches(note, '[0-9a-z \r\n]+', 'i'))[1]