在R个月内没有前导零
R中的在R个月内没有前导零,r,date,format,R,Date,Format,R中的format()没有明显的选项来显示不带前导0的月份(年份也是如此)。有没有其他方法可以得到这个结果?该解决方案应允许用户灵活选择是否仅在日、月、年或任何组合中省略0 日期:截止日期(“2005-09-02”) 退出:2/9/5 或仅在一个月内删除0: 输出:2/9/05您可以执行此操作,但需要将其设置为字符,因为该格式不是实际的日期格式 X = "2005-09-02" date = paste(substr(X,10,10),"/",substr(X,7,7),"/",substr(X
format()
没有明显的选项来显示不带前导0的月份(年份也是如此)。有没有其他方法可以得到这个结果?该解决方案应允许用户灵活选择是否仅在日、月、年或任何组合中省略0
日期:截止日期(“2005-09-02”)
退出:2/9/5
或仅在一个月内删除0:
输出:
2/9/05
您可以执行此操作,但需要将其设置为字符,因为该格式不是实际的日期格式
X = "2005-09-02"
date = paste(substr(X,10,10),"/",substr(X,7,7),"/",substr(X,4,4),sep='')
你可以试试这个
x <- as.Date(c("2005-09-02", "2005-10-20", "2010-10-20"))
gsub("0(\\d)", "\\1", format(x, "%d/%m/%y"))
# [1] "2/9/5" "20/10/5" "20/10/10"
x带有sub
的解决方案:
x <- as.Date("2005-09-02")
sub("..0?(.+)-0?(.+)-0?(.+)", "\\3/\\2/\\1", x)
# [1] "2/9/5"
x关于2005-10-20呢?@G.Grothendieck-谢谢,我认为我的编辑应该注意这一点好的,如果所有的0都被删除,效果会很好。但是,如果一年应该保持零,而不是月份,那又会怎样呢?@Andrisignorel——这不是你的问题所要求的。它询问如何从包括year@Richard:示例不清楚,抱歉。我需要一个解决方案来灵活地删除m或y或两者上的前导0。感谢您的解决方案,这似乎很有希望。如何访问>9的组\\10不起作用…这是不正确的。目标不是每个字段打印一位数字,而是抑制前导的0
。