gsub возвращает пустую строку, если совпадений не найдено

Я используюgsub функция в R, чтобы вернуть вхождения моего образца (ссылочные номера) в список текста. Это прекрасно работает, если совпадение не найдено, и в этом случае я получаю всю строку обратно, а не пустую строку. Рассмотрим пример:

<code>data <- list("a sentence with citation (Ref. 12)",
             "another sentence without reference")

sapply(data, function(x) gsub(".*(Ref. (\\d+)).*", "\\1", x))
</code>

Возвращает:

<code>[1] "Ref. 12"                            "another sentence without reference"
</code>

Но я бы хотел получить

<code>[1] "Ref. 12"                            ""
</code>

Спасибо!

Ответы на вопрос(5)

Ваш ответ на вопрос