Я хотел бы предложить что-то вроде этого:
library(tidyverse)
get_phone_group <- function(phonenum, n) {
str_extract_all(phonenum, "\\d+", simplify = TRUE)[, n]
}
get_phone_group("123-456-7890", 1)
#> [1] "123"
get_phone_group("(123)-456-7890", 3)
#> [1] "7890"
get_phone_group(c("345-169-234", "(123)-456-7890"), 3)
#> [1] "234" "7890"
Создано в 2020-04-27 пакетом Представить (v0.3.0)
Обратите внимание, что результирующая функция векторизована и поэтому ее удобно использовать, например, в контексте mutate
.