split on last occurrence of digit, take 2nd part

r, regex

Solution

library(stringr)
unlist(lapply(str_split(x, "[0-9]"), tail,n=1))

gives

[1] "ID"          "Alabama"     "Alaska"      "Arizona"     "Arkansas"    "California"  "Colorado"    "Connecticut" "Delaware"   
[10] "Florida"     "Georgia"

I would look at the documentation `stringr` for (most possibly) an even better approach.

Problem

If I have a string and want to split on the last digit and keep the last part of the split hpw can I do that? ``` x <- c("ID", paste0("X", 1:10, state.name[1:10])) ``` I'd like ``` [1] NA "Alabama" "Alaska" "Arizona" "Arkansas" [6] "California" "Colorado" "Connecticut" "Delaware" "Florida" [11] "Georgia" ``` But would settle for: ``` [1] "ID" "Alabama" "Alaska" "Arizona" "Arkansas" [6] "California" "Colorado" "Connecticut" "Delaware" "Florida" [11] "Georgia" ``` I can get the first part by: ``` unlist(strsplit(x, "[^0-9]*$")) ``` But want the second part. Thank you in advance.

Original source