I am struggling to remove the substring before the underscore in my string. I want to use * (wildcard) as the bit before the underscore can vary:
a <- c("foo_5", "bar_7")
a <- gsub("*_", "", a, perl = TRUE)
The result should look like:
> a
[1] 5 7
I also tried stuff like "^*" or "?" but did not really work.
as.numeric(gsub(pattern=".*_", replacement = '', a)
[1] 5 7
Just to point out that there is an approach using functions from the tidyverse
, which I find more readable than gsub
:
a %>% stringr::str_remove(pattern = ".*_")
Alternatively, you can also try:
gsub("\\S+_", "", a)
Source: Stackoverflow.com