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

Spark中如何去除字符串首尾括号 正则表达式实现方法

Spark去除列值首尾方括号的实现方案

方案1:正则表达式实现

针对你要求用正则实现的需求,可通过匹配首尾方括号后替换为空实现,适配不同Spark使用场景的写法如下:

  • Spark SQL 写法
-- 替换uuid_col为你的实际列名,test_table为实际表名
SELECT regexp_replace(uuid_col, '^\\[|\\]$', '') AS cleaned_uuid
FROM test_table
  • PySpark DataFrame 写法
from pyspark.sql.functions import regexp_replace

# 替换uuid_col为你的实际列名
df = df.withColumn("cleaned_uuid", regexp_replace("uuid_col", r"^\[|\]$", ""))
  • Scala Spark DataFrame 写法
import org.apache.spark.sql.functions.regexp_replace

// 替换uuid_col为你的实际列名
val cleanedDf = df.withColumn("cleaned_uuid", regexp_replace(col("uuid_col"), "^\\[|\\]$", ""))

方案2:非正则高效实现

如果仅需要去掉首尾固定的方括号,使用trim函数性能更优,无需正则解析开销:

  • Spark SQL 写法
SELECT trim('[]' FROM uuid_col) AS cleaned_uuid
FROM test_table
  • PySpark DataFrame 写法
from pyspark.sql.functions import trim

df = df.withColumn("cleaned_uuid", trim("uuid_col", "[]"))

以上两种方案均只会删除值首尾的方括号,不会影响字符串中间的内容,可满足你给出的示例格式转换需求

内容的提问来源于stack exchange,提问作者Mariusz Kowalewski

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 11:15:07