拆分R数据帧中的列

Eri*_*tto 2 r

我在R数据框中有一列数据,其值如下:

Blue-#105
Green-#8845
Yellow-#5454
Blue-#999
Run Code Online (Sandbox Code Playgroud)

我想删除的最后一个数字部分(开始- #),以便Blue-#999和Blue-#105正在策划时考虑同样的事情.我怎么能做到这一点?

Dir*_*tel 7

使用正则表达式:

> 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)

在这里,我们说,开始的所有字符串-#(其中焦炭意见#需要进行转义),并随后无论 ---这是.*在正则表达式行话重复多次,因为它符合(明星)任何字符(点) - - 将被空字符串替换,换句话说,被删除.