string - 如何从日期字符变量中删除时间字段字符串?

标签 string r substring date-formatting

假设我有一个这样的变量

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")

有什么快速方法可以删除所有 0:00:00 以便

c
[1] "9/21/2011" "9/25/2011" "10/2/2011" "9/28/2011" "9/27/2011"

最佳答案

您可以将它们转换为日期,然后根据需要设置格式,例如:

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"

或者,您可以简单地使用 gsub 删除"0:00:00" 子字符串:

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"

关于string - 如何从日期字符变量中删除时间字段字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23089895/

相关文章:

R vcd::mosaic 重叠标签

regex - 如何使用正则表达式根据模式返回一小部分字符

c# - 根据某些符号的子字符串

Kotlin:去除第一个和最后一个字符

r - 设置 RStudio Portable 默认 R 版本

java - 如何查找字符串中第n次出现的字符?

string - 如何在命令行中使用感叹号作为字符串的一部分?

python - Python 字符串数组如何工作?

linux - strcmp 用法错误?

java - 如何确定字符串的第一个字符是否为数字?