Reemplazar caracteres específicos dentro de cadenas

Resuelto Luke asked hace 54 años • 8 respuestas

Me gustaría eliminar caracteres específicos de cadenas dentro de un vector, similar a la función Buscar y reemplazar en Excel.

Aquí están los datos con los que empiezo:

group <- data.frame(c("12357e", "12575e", "197e18", "e18947")

Empiezo sólo con la primera columna; Quiero producir la segunda columna eliminando e's:

group       group.no.e
12357e      12357
12575e      12575
197e18      19718
e18947      18947
Luke avatar Jan 01 '70 08:01 Luke
Aceptado

Con una expresión regular y la función gsub():

group <- c("12357e", "12575e", "197e18", "e18947")
group
[1] "12357e" "12575e" "197e18" "e18947"

gsub("e", "", group)
[1] "12357" "12575" "19718" "18947"

Lo que gsubhace aquí es reemplazar cada aparición de "e"con una cadena vacía "".


Consulte ?regexpo gsubpara obtener más ayuda.

Andrie avatar Aug 13 '2012 14:08 Andrie

Las expresiones regulares son tus amigas:

R> ## also adds missing ')' and sets column name
R> group<-data.frame(group=c("12357e", "12575e", "197e18", "e18947"))  )
R> group
   group
1 12357e
2 12575e
3 197e18
4 e18947

Ahora utilícelo gsub()con el patrón de reemplazo más simple posible: cadena vacía:

R> group$groupNoE <- gsub("e", "", group$group)
R> group
   group groupNoE
1 12357e    12357
2 12575e    12575
3 197e18    19718
4 e18947    18947
R> 
Dirk is no longer here avatar Aug 13 '2012 14:08 Dirk is no longer here