You can extract numbers and letters separately with gsub, and then use paste0
to put them in any order that you like.
a <- c("53H", "H26","14M","M47")
( nums <- gsub("[^0-9]", "", a) ) ## extract numbers
# [1] "53" "26" "14" "47"
( lets <- gsub("[^A-Z]", "", a) ) ## extract letters
# [1] "H" "H" "M" "M"
First number :
paste0(nums, lets)
# [1] "53H" "26H" "14M" "47M"
First response to letters :
paste0(lets, nums)
# [1] "H53" "H26" "M14" "M47"
source
share