2011-08-25 34 views
5

Tôi muốn xóa mọi thứ trước dấu chấm (.) Đăng nhập chuỗi sau trong R. Tôi đã thử với chức năng gsub.Xóa mẫu chuỗi nhất định trong R

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

Mọi trợ giúp sẽ được đánh giá cao. Cảm ơn

+0

Câu hỏi rất giống: http://stackoverflow.com/q/3003527/168747 – Marek

Trả lời

9

Hãy thử điều này: gsub("^.*\\.", "", Test)

Nó đang làm gì? Phù hợp với sự bắt đầu của chuỗi với bất kỳ ký tự nào, bất kỳ số lần nào. Sau đó, phù hợp với một khoảng thời gian duy nhất. Nó thay thế tất cả những điều đó mà không có gì.

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

Hoặc nếu bạn tìm biểu thức thông thường đáng ghê tởm, bạn có thể sử dụng sapplystrsplit:

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

này được chia mỗi yếu tố trên '' và sau đó chỉ lấy phần tử thứ hai của kết quả từ mỗi phần tử.

+0

Linh hoạt hơn. Cảm ơn – MYaseen208

+3

+1 - sử dụng tốt abhorrent. – Chase

Các vấn đề liên quan