DF <- data.frame(x = c('HYPERLINK("[Individual files/NetworkData4MassiveExport_Individual_1.xlsx]1_2016_Nodes!A3", "\'Nodes\' tab")', 'NA()'), y = c('NA()', 'HYPERLINK("[Individual files/NetworkData4MassiveExport_Individual_2.xlsx]2_2019_Nodes!A3", 1)'))
DF
DF[] <- lapply(DF, function(x) ifelse(substr(x, 1, 9) == 'HYPERLINK', trimws(gsub('[\")]', '', unlist(strsplit(x, ','))[2])), gsub('"', '', x)))
DF
您可以使用
mutate(across(everything(), ...))
"HYPERLINK"
library(dplyr)
DF <- data.frame(x = c('HYPERLINK("[Individual files/NetworkData4MassiveExport_Individual_1.xlsx]1_2016_Nodes!A3", "\'Nodes\' tab")', 'NA()'), y = c('NA()', 'HYPERLINK("[Individual files/NetworkData4MassiveExport_Individual_2.xlsx]2_2019_Nodes!A3", 1)'))
DF %>%
mutate(across(everything(),
~ifelse(grepl("HYPERLINK", .x),
gsub(".*\\[.*\\].*, (.*)\\)$", "\\1", .x),
.x)))
#> x y
#> 1 "'Nodes' tab" NA()
#> 2 NA() 1