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
相关产品推荐
相关产品推荐

