Удалить шаблон из строки с помощью gsub - программирование
Подтвердить что ты не робот

Удалить шаблон из строки с помощью gsub

Я пытаюсь удалить подстроку перед подчеркиванием в моей строке. Я хочу использовать * (wildcard) как бит до того, как подчеркивание может измениться:

a <- c("foo_5", "bar_7")

a <- gsub("*_", "", a, perl = TRUE)

Результат должен выглядеть так:

> a
[1] 5 7

Я также пробовал такие вещи, как "^ *" или "?" но на самом деле не работает.

4b9b3361

Ответ 1

В вашем примере работает следующий код:

gsub(".*_", "", a)

Ответ 2

Кроме того, вы также можете попробовать:

gsub("\\S+_", "", a)

Ответ 3

На языке R,. означает любой символ, а * означает последовательность символов
Следовательно. * _ Означает любую строку
Начиная с.
с последующим 0 или более символов
Окончание с _
Ваш результат может быть достигнут

a <- gsub(".*_","",a)

Ответ 4

as.numeric(gsub(pattern=".*_", replacement = '', a)
[1] 5 7