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

Python/Pyspark按空格拆分字符串跳过后续接数字分隔符并删除末尾分号

Pyspark 字符串转数组列解决方案

实现逻辑

  • 第一步:先清理原字符串末尾的分号和尾随空白,避免拆分后残留分号
  • 第二步:使用正则正向后顾断言匹配分隔符:仅匹配前面是数字的空格作为拆分点,和你给出的示例输出完全匹配

完整代码

首先导入依赖函数:

from pyspark.sql.functions import col, split, regexp_replace

执行转换逻辑:

data = data.withColumn(
    "newcolumn",
    split(
        # 先删除末尾的分号和所有尾随空白字符
        regexp_replace(col("Column"), r"[;\s]+$", ""),
        # 仅匹配前面为数字的空格作为拆分分隔符
        r"(?<=\d)\s"
    )
)

效果验证

对给出的输入示例执行后输出完全符合预期:

Columnnewcolumn
"511 520 NA 611;"[511,520,NA 611]
"322 GA 620"[322,GA 620]
"3 321; "[3,321]
"334 344"[334,344]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 18:06:02