Ответ 1
В вашем примере работает следующий код:
gsub(".*_", "", a)
Я пытаюсь удалить подстроку перед подчеркиванием в моей строке. Я хочу использовать * (wildcard) как бит до того, как подчеркивание может измениться:
a <- c("foo_5", "bar_7")
a <- gsub("*_", "", a, perl = TRUE)
Результат должен выглядеть так:
> a
[1] 5 7
Я также пробовал такие вещи, как "^ *" или "?" но на самом деле не работает.
В вашем примере работает следующий код:
gsub(".*_", "", a)
Кроме того, вы также можете попробовать:
gsub("\\S+_", "", a)
На языке R,. означает любой символ, а * означает последовательность символов
Следовательно. * _ Означает любую строку
Начиная с.
с последующим 0 или более символов
Окончание с _
Ваш результат может быть достигнут
a <- gsub(".*_","",a)
as.numeric(gsub(pattern=".*_", replacement = '', a)
[1] 5 7