How to remove time-field string from a date-as-character variable?

date-formatting, r, string, substring

Solution

You can turn them into dates and then format as desired, e.g.:

v <- c("9/21/2011 0:00:00",  "9/25/2011 0:00:00",  "10/2/2011 0:00:00",  
     "9/28/2011 0:00:00",  "9/27/2011 0:00:00")
v <- format(as.POSIXct(v,format='%m/%d/%Y %H:%M:%S'),format='%m/%d/%Y')
> v
[1] "09/21/2011" "09/25/2011" "10/02/2011" "09/28/2011" "09/27/2011"

Or, you can simply remove the `" 0:00:00"` substring using gsub:

v <- gsub(x=v,pattern=" 0:00:00",replacement="",fixed=T)
> v
[1] "9/21/2011" "9/25/2011" "10/2/2011" "9/28/2011" "9/27/2011"

Problem

Suppose I have a variable like this ``` c<-c("9/21/2011 0:00:00", "9/25/2011 0:00:00", "10/2/2011 0:00:00", "9/28/2011 0:00:00", "9/27/2011 0:00:00") ``` what's a quick way to remove all `0:00:00`s so that ``` c [1] "9/21/2011" "9/25/2011" "10/2/2011" "9/28/2011" "9/27/2011" ```

Original source