在示例中,我正在尝试substring
我正在处理的data.frame
(video_data_2)中的Video_full列。我希望在这段时间之后保留所有角色。期间始终存在,只有一个期间,并且该列的每个值处于不同的位置。
Date Video_full Instances
1 Apr 1, 2010 installs/AA.intro_video_1 546
2 Apr 1, 2010 installs/ABAC.intro_video_2 548
我有子串工作:
video_data_2$Video_full <- substring(video_data_2$Video_full,11)
strsplit
也是:
strsplit("installs/AA.intro_video_1 ",'[.]')
我只是无法弄清楚如何在动态位置启动substring
或仅保留strsplit
返回的第二个值。
感谢您为简单问题提供的任何帮助。
答案 0 :(得分:8)
你可以使用sub()
video_data_2$Video_full <- sub("^.*\\.","", video_data_2$Video_full)
答案 1 :(得分:7)
使用strsplit
sapply(strsplit(video_data_2$Video_full, "\\."), "[", 2)
这是
的简写sapply(strsplit(video_data_2$Video_full, "\\."), function(x) x[2])
答案 2 :(得分:5)
尝试stringr
library(stringr)
str_split_fixed(video_data_2$Video_full, "\\.", n = 2)[, 2]
答案 3 :(得分:3)
使用strsplit的方法
video_data_2$Video_full <- sapply(strsplit(video_data_2$Video_full, "\\."),head)[2,]