Вы можете использовать:
string = 'abcd 1234abcda="author 1" content="author 2.">\n'
sub('.*"(.*)".*', '\\1', string)
#[1] "author 2."
С str_match
library(stringr)
str_match(string, '.*"(.*)"')[, 2]
Другой вариант - извлечь все значения с помощью «автор», за которым следует число, и выбрать последний с использованием tail
.
tail(str_extract_all(string, 'author \\d+')[[1]], 1)