R语言:移除邮编列中连字符及后续所有数字的方法
处理邮编DataFrame,移除连字符及后续内容的解决方案
你可以用正则表达式匹配连字符及其之后的所有内容,直接替换为空字符串,就能保留连字符前的邮编部分,完美兼容3位或5位邮编的情况。
具体代码如下:
# 构造示例数据框 df <- structure(list(billing_postcode = c("34990", "34695-4809", "123", "45678-1234")), row.names = c(NA, -4L), class = "data.frame") # 清洗邮编:移除"-"及之后的所有内容 df$clean_postcode <- gsub("-.*", "", df$billing_postcode)
执行后clean_postcode列的结果为:"34990", "34695", "123", "45678",完全符合需求。
代码说明
-.*是正则表达式:-精准匹配连字符,.*匹配连字符之后任意数量的任意字符(包括数字、符号等)gsub会把所有匹配到的内容替换为空,最终只保留连字符前的邮编主体部分
内容的提问来源于stack exchange,提问作者hachiko
相关产品推荐
相关产品推荐

