2011-08-25 16 views
5

Desidero rimuovere tutto prima del punto (.) Accedere alla seguente stringa in R. Ho provato con la funzione gsub.Rimozione di un determinato motivo di stringa in R

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

Qualsiasi aiuto sarà molto apprezzato. Grazie

+0

Domanda molto simile: http://stackoverflow.com/q/3003527/168747 – Marek

risposta

9

Prova questa: gsub("^.*\\.", "", Test)

Che cosa sta facendo? Corrisponde all'inizio della stringa con qualsiasi carattere, qualsiasi numero di volte. Quindi corrisponde a un singolo periodo. Sostituisce tutto ciò con niente.

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

Oppure Se trovate le espressioni regolari aberrante, è possibile utilizzare sapply e strsplit:

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

Questo sta dividendo ogni elemento della '' e quindi afferrando solo il secondo elemento del risultato di ciascuno.

+0

Più flessibile. Grazie – MYaseen208

+3

+1 - buon uso di aborrente. – Chase

Problemi correlati