Let's suppose I have this situation
data = data.frame('A' = c('A_A_', 'B_B_'))
A_A_ where I would like to remove the final and replace the central underscore. What can I do to save the following two steps?
data %>%
mutate(A = sub("_$","", A)) %>%
mutate(A = sub("_","->", A))
Thanks
An unwieldy base::strsplit
paste0(unlist(strsplit(data$A, split = '_'))
[1:length(unlist(strsplit(data$A, split = '_'))) %% 2 == 1],
'->',
unlist(strsplit(data$A, split = '_'))
[1:length(unlist(strsplit(data$A, split = '_'))) %% 2 == 0])
[1] "A->A" "B->B"
that likely wouldn't be called a 'one-liner'...