Мы можем попробовать использовать sub
с группой захвата:
x <- "Feb22 19 (22) 100 (Weeklys) "
sub(".*\\((\\d+)\\).*", "\\1", x)
[1] "22"
Вышеприведенный шаблон можно объяснить так:
.* consume anything, up until the last
\( literal open parenthesis, which is then followed by
(\d+) one or more digits (which are captured)
\) followed by a closing parenthesis
.* followed by anything
Замена - \\1
, чточисло, зафиксированное в шаблоне.Обратите внимание, что если входные данные не содержат число в скобках, приведенный выше вызов sub
фактически вернет исходную входную строку.Если вам не нравится это поведение, вам придется больше работать.