2011-08-25 32 views
5

ile kaldırılıyor. Periyodun (.) Işaretinden önce, R'de aşağıdaki dize imzalanmadan önce her şeyi kaldırmak istiyorum. gsub işlevini denedim.Belirli dize kalıbı R

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

Herhangi bir yardım çok takdir edilecektir. o ne yapıyor gsub("^.*\\.", "", Test)

: Teşekkürler

+0

Çok benzer bir soru: http://stackoverflow.com/q/3003527/168747 – Marek

cevap

9

bu deneyin? Dizenin başlangıcını herhangi bir karakterle, herhangi bir sayıyla eşleştirir. Sonra tek bir dönemle eşleşir. Bunların hepsini hiçbir şeyle değiştirmez. Bu her elemanı ayırdığını

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

: normal ifadeler iğrenç bulursanız

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

Veya, sapply ve strsplit işe yarayabilir. ' ve daha sonra her birinden sonucun ikinci unsurunu kapmak.

+0

Daha esnek. Teşekkürler – MYaseen208

+3

+1 - hoş bir şekilde kibarlık. – Chase