В текущем коде OP незначительное изменение может заставить его работать, т.е. захватить соответствующий шаблон как группу ((...)
) и заменить на обратную ссылку (\\1
)
sub("^(\\D*\\d+).*", "\\1", x)
#[1] "Hubert 208" "Mass Av 300"
Здесь,шаблон из OP подразумевает ("^\\D*\\d+"
) - ноль или более символов, которые не являются цифрой (\\D*
) от начала (^
) строки, за которыми следуют одна или несколько цифр (\\d+
), и этозахватывается как группа с паранами ((...)
).
Кроме того, вместо gsub
(глобальная замена) нам нужен только sub
, поскольку нам нужно сопоставить только один экземпляр (с начала)