Estoy usando la función gsub
en R para devolver las apariciones de mi patrón (números de referencia) en una lista de texto. Esto funciona muy bien a menos que no se encuentre una coincidencia, en cuyo caso recupero toda la cadena, en lugar de una cadena vacía. Considere el ejemplo:gsub devuelve una cadena vacía cuando no se encuentra ninguna coincidencia
data <- list("a sentence with citation (Ref. 12)",
"another sentence without reference")
sapply(data, function(x) gsub(".*(Ref. (\\d+)).*", "\\1", x))
devoluciones:
[1] "Ref. 12" "another sentence without reference"
Pero me gustaría llegar
[1] "Ref. 12" ""
Gracias!
'gsub' no puede (actualmente, 2.15.0) hacer esto porque:" Si 'replacement' contiene referencias posteriores que no están definidas en' pattern' el resultado no está definido (pero lo más habitual es que la retro-referencia sea '" " ')." –