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

PySpark中如何移除字符串列中的非数字字符

移除字符串列中的非数字字符解决方案

针对你的需求:将名为cola的字符串列中所有非数字字符移除(如把"100.z"转为"100"、"102c"转为"102"),可以通过修改regexp_replace的正则匹配规则实现,具体代码如下:

方案1:使用[^0-9]匹配非数字字符

df.withColumn('cola', regexp_replace('cola', '[^0-9]', ''))

方案2:使用\D简写匹配非数字字符

df.withColumn('cola', regexp_replace('cola', '\\D', ''))

说明:

  • [^0-9]是正则表达式的否定字符集,表示匹配所有不属于0-9范围的字符
  • \D是正则中预定义的字符类,等价于[^0-9],在Python代码中需要用双反斜杠\\D进行转义

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 13:35:22