如何在 r 的字符向量中添加白色 space?
how can I add a white space within a characther vector in r?
我有一个字符日期序列(“2018-09-032018-09-09”“2018-09-102018-09-16”......)我会添加一个白色space 在第 10 个数字之后。作为最终结果,我将获得以下“2018-09-03 2018-09-09”“2018-09-10 2018-09-16”......
我想 gsub 功能可以提供帮助,但我不知道如何实现它
你能帮帮我吗?
这个有用吗:
gsub('(.{10})(.*)','\1 \2' ,c("2018-09-032018-09-09", "2018-09-102018-09-16"))
[1] "2018-09-03 2018-09-09" "2018-09-10 2018-09-16"
我们可以使用sub
获取前10位数字然后加上space
sub("^(.{10})(.*)", "\1 \2", dates)
-输出
[1] "2018-09-03 2018-09-09" "2018-09-10 2018-09-16"
注意:我们使用了 sub
,这只是我指定开始 (^
) 字符这一事实所必需的。
数据
dates <- c("2018-09-032018-09-09", "2018-09-102018-09-16")
我们可以将 str_extract_all
与此 '\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])'
正则表达式一起使用,该正则表达式适用于 YYYY-MM-DD 格式:
library(stringr)
unlist(str_extract_all(dates, '\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])'))
输出:
"2018-09-03" "2018-09-09" "2018-09-10" "2018-09-16"
我有一个字符日期序列(“2018-09-032018-09-09”“2018-09-102018-09-16”......)我会添加一个白色space 在第 10 个数字之后。作为最终结果,我将获得以下“2018-09-03 2018-09-09”“2018-09-10 2018-09-16”......
我想 gsub 功能可以提供帮助,但我不知道如何实现它
你能帮帮我吗?
这个有用吗:
gsub('(.{10})(.*)','\1 \2' ,c("2018-09-032018-09-09", "2018-09-102018-09-16"))
[1] "2018-09-03 2018-09-09" "2018-09-10 2018-09-16"
我们可以使用sub
获取前10位数字然后加上space
sub("^(.{10})(.*)", "\1 \2", dates)
-输出
[1] "2018-09-03 2018-09-09" "2018-09-10 2018-09-16"
注意:我们使用了 sub
,这只是我指定开始 (^
) 字符这一事实所必需的。
数据
dates <- c("2018-09-032018-09-09", "2018-09-102018-09-16")
我们可以将 str_extract_all
与此 '\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])'
正则表达式一起使用,该正则表达式适用于 YYYY-MM-DD 格式:
library(stringr)
unlist(str_extract_all(dates, '\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])'))
输出:
"2018-09-03" "2018-09-09" "2018-09-10" "2018-09-16"