我在R数据框中有一列数据,其值如下:
Blue-#105
Green-#8845
Yellow-#5454
Blue-#999
Run Code Online (Sandbox Code Playgroud)
我想删除的最后一个数字部分(开始- #),以便Blue-#999和Blue-#105正在策划时考虑同样的事情.我怎么能做到这一点?
使用正则表达式:
> DF <- data.frame(col=c("Blue-#105", "Green-#8845", "Blue-#999"))
> DF
col
1 Blue-#105
2 Green-#8845
3 Blue-#999
> DF$col <- gsub("-\\#.*", "", DF$col)
> DF
col
1 Blue
2 Green
3 Blue
>
Run Code Online (Sandbox Code Playgroud)
在这里,我们说,开始的所有字符串-#(其中焦炭意见#需要进行转义),并随后无论 ---这是.*在正则表达式行话重复多次,因为它符合(明星)任何字符(点) - - 将被空字符串替换,换句话说,被删除.