如何合并和取消合并字符向量?

How to merge and unmerge a character vector?

我需要通过一系列计算来跟踪我的数据。

我有以下载体:

start_date <- "2010-11-04"
end_date <- "2010-11-10"

我希望将它们合并成一个字符向量,如下所示

"2010-11-04 to 2010-11-10"

那我要倒数:

从:"2010-11-04 to 2010-11-10"回到原来的两个向量

这不使用任何包:

p <- paste(start_date, "to", end_date)
p
## [1] "2010-11-04 to 2010-11-10"

在另一个方向上删除第一个 space 之后的所有内容以获取表示第一个日期的字符串并删除最后一个 space 之前的所有内容以获取表示第二个日期的字符串:

sub(" .*", "", p)
## [1] "2010-11-04"
sub(".* ", "", p)
## [1] "2010-11-10"

另一种方法是使用 strsplit:

拆分字符串
s <- unlist(strsplit(p, " to "))
s
## [1] "2010-11-04" "2010-11-10"

所以s[1]是表示第一个日期的字符串,s[2]是表示第二个日期的字符串。

更新: 根据 Richard Scriven 的评论修改。