df <- data.frame(
videos = c("Moon vs Grubby", "Moon vs Happy", "Happy vs Th00"),
links = c("https://www.youtube.com/watch?v=QlNc-jb4ESk&t", "https://www.youtube.com/watch?v=VESO8YQVFSE", "https://www.youtube.com/watch?v=RI3IJT8ZzBM")
)
df$links <- as.character(df$links)
df$links <- gsub("watch?v=", "embed/", df$links)
我得到了以下代码,并带有指向YouTube的链接,我希望将它们嵌入闪亮的应用程序中。但是,YouTube需要替换被解释为正则表达式的字符串的一部分。我在这里找不到有用的解决方案。
那我该如何gsub
?
当前链接:
https://www.youtube.com/watch?v=QlNc-jb4ESk&t
预期结果:
https://www.youtube.com/embed/=QlNc-jb4ESk&t
答案 0 :(得分:3)
我们需要转义?
和=
,因为它们是元字符
gsub("watch\\?v\\=", "embed/=", df$links)
或带有fixed = TRUE
gsub("watch?v=", "embed/=", df$links, fixed = TRUE)
此外,由于只有一个实例,我们可以使用sub
sub("watch?v=", "embed/=", df$links, fixed = TRUE)
#[1] "https://www.youtube.com/embed/=QlNc-jb4ESk&t"
#[2] "https://www.youtube.com/embed/=VESO8YQVFSE"
#[3] "https://www.youtube.com/embed/=RI3IJT8ZzBM"
答案 1 :(得分:2)