You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在PostgreSQL中分割字符串为数组后修剪每个元素

解决PostgreSQL分割字符串后去除数组元素首尾空白的方法

方案1:正则分割一步到位(推荐)

直接用regexp_split_to_array函数,通过正则匹配带前后空白的分号作为分隔符,分割后直接得到无首尾空白的元素数组:

regexp_split_to_array("Column", '\s*;\s*') as "SplitColumn"

原理:\s*匹配任意数量的空白字符(空格、制表符等),\s*;\s*能精准匹配你的输入里" ; "这种带空白的分隔符,分割时直接跳过空白,得到干净的元素。

测试你给出的输入"something ; like ; this",输出结果为:

"SplitColumn":["something", "like", "this"]

方案2:先分割再逐个处理后聚合

如果坚持用string_to_array,可以把数组拆成单行记录,对每个元素执行trim后再重新聚合为数组:

array(select trim(unnest(string_to_array("Column", ';')))) as "SplitColumn"

步骤拆解:

  • string_to_array("Column", ';'):按分号分割成带空白的原始数组
  • unnest(...):将数组展开为多行,每行对应一个元素
  • trim(...):对每个元素去除首尾空白
  • array(select ...):把处理后的单行记录重新组合成数组

这个方法也能得到目标结果,适合需要对分割后的元素做更多自定义处理的场景。

内容的提问来源于stack exchange,提问作者Jonathan Welton

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 22:13:08