Tengo una solicitud extraña con expresiones regulares en R. Tengo un vector de cadenas de caracteres donde algunos tienen múltiples períodos finales. Quiero reemplazar estos períodos por espacios. El ejemplo y el resultado deseado debe dejar claro lo que busco (tal vez tengo que atacar con lo que doy para reemplazar argumento más que el argumento patrón de gsub
):reemplazar períodos finales con espacios
Ejemplo y los intentos:
x <- c("good", "little.bad", "really.ugly......")
gsub("\\.$", " ", x)
#produces this
#[1] "good" "little.bad" "really.ugly..... "
gsub("\\.+$", " ", x)
#produces this
#[1] "good" "little.bad" "really.ugly "
resultado deseado
[1] "good" "little.bad" "really.ugly "
así el vector original (x) tenía la última cadena con 6 puntos al final así que me gustaría 6 de spa sin tocar el período entre real y feo. Sé que el $
mira hacia el final pero no puede pasar esto.
Obtengo 'expresión regular no válida '\. (? = \. * $)', Razón 'Regexp no válida' –
@DavidRobinson: Dentro de una cadena, necesita duplicar las barras diagonales inversas. –
+1 Edité tu respuesta para mostrar cómo se traduce a R. – Andrie