如何在R语言中将数字后的空格替换为分隔符
解决方案
你可以用R的gsub()函数结合正则表达式实现需求,核心是精准匹配数字后的空格并替换为逗号:
代码示例
# 原始数据 df <- data.frame(customer = c("HOSPITAL FUN:12456 HOSPITAL:23456", "MEDICAL GR:78988 MEDICAL ABC:98778 MEDICAL:90808")) # 替换数字后的空格为逗号 df$customer <- gsub("(\\d) ", "\\1,", df$customer) # 查看处理后的数据 df
运行结果
> df customer 1 HOSPITAL FUN:12456,HOSPITAL:23456 2 MEDICAL GR:78988,MEDICAL ABC:98778,MEDICAL:90808
正则表达式说明
(\\d):用捕获组匹配单个数字(R中需对正则元字符\d转义,因此写为\\d):匹配数字后紧跟的空格\\1,:替换时保留捕获到的数字(\\1对应第一个捕获组内容),并将后续空格替换为逗号
这种方式只会替换客户编号(数字)后的空格,完全保留客户名称里的空格。
内容的提问来源于stack exchange,提问作者Matt Simonson
相关产品推荐
相关产品推荐

