2011-08-25 16 views
5

Quiero eliminar todo antes de que el período (.) Firme la siguiente cadena en R. Intenté con la función gsub.Eliminar cierto patrón de cadena en R

Test <- c("Data.A", "Data.B", "Data.C", "Data.D") 
gsub("[.]", "", Test) 

Cualquier ayuda será muy apreciada. Gracias

+0

Pregunta muy similar: http://stackoverflow.com/q/3003527/168747 – Marek

Respuesta

9

Prueba esto: gsub("^.*\\.", "", Test)

¿Qué hace? Combina el comienzo de la cadena con cualquier carácter, cualquier cantidad de veces. Luego coincide con un solo período. Reemplaza todo eso con nada.

> gsub("^.*\\.", "", Test) 
[1] "A" "B" "C" "D" 
6

O si encuentra expresiones regulares aberrante, podría utilizar sapply y strsplit:

sapply(strsplit(Test,".",fixed = TRUE),"[[",2) 
[1] "A" "B" "C" "D" 

Esto está dividiendo cada elemento de la ''. y luego agarrar solo el segundo elemento del resultado de cada uno.

+0

Más flexible. Gracias – MYaseen208

+3

+1 - buen uso de aborrecible. – Chase

Cuestiones relacionadas