开发者

How do I specify a dynamic position for the start of substring?

As in the example, I am trying to substring the Video_full column in a data.frame (video_data_2) I am working on. I want to keep all the characters after the period. The period is always present, there is only one period and it is in a different position in each value for the column.

     Date                     Video_full     开发者_JS百科 Instances   
1 Apr 1, 2010  installs/AA.intro_video_1      546         
2 Apr 1, 2010  installs/ABAC.intro_video_2    548      

I got substring to work:

video_data_2$Video_full <- substring(video_data_2$Video_full,11)

And strsplit also:

strsplit("installs/AA.intro_video_1 ",'[.]')

I'm just not able to figure out how to start the substring in a dynamic position or only keep the second value returned by strsplit.

Thanks for any help you can offer for a simple question.


you can use sub()

video_data_2$Video_full <- sub("^.*\\.","", video_data_2$Video_full)


Another way to use strsplit

sapply(strsplit(video_data_2$Video_full, "\\."), "[", 2)

which is shorthand from

sapply(strsplit(video_data_2$Video_full, "\\."), function(x) x[2])


Try stringr

library(stringr)
str_split_fixed(video_data_2$Video_full, "\\.", n = 2)[, 2]


an approach using strsplit

video_data_2$Video_full <- sapply(strsplit(video_data_2$Video_full, "\\."),head)[2,]
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜