我正在尝试从以下字符中提取第一个时间戳:
“ 2015年9月14日,美国东部时间上午11:56-下午12:00”
我有它们的完整列表,根据需要它们是向量。
> is.vector(data$description)
[1] TRUE
> is.vector(data$info)
[1] TRUE
>str_extract(data$info, "\\@ [0-9]+:[0-9]{2}")
Error in stri_extract_first_regex(string, pattern, opts_regex = attr(pattern, :
argument `str` should be a character vector (or an object coercible to)
我意识到我的正则表达式不是完全正确,只是第一次提取。但是目前它不会提取任何东西。我不确定在这里我做错了什么。任何帮助表示赞赏。
目前尚不清楚我们是否只需要'HH:MM'部分,还是需要它AM/PM
。如果这仅是为了提取“ HH:MM”,然后在@
其后加一个空格,则可以使用正则表达式环顾四周((?<=\\@ )
)来匹配数字,:
后跟两位数。另外,指定regex
或fixed
。
library(stringi)
stri_extract(v1, regex="(?<=\\@ )[0-9]+:[0-9]{2}")
#[1] "11:56"
或使用 stringr
library(stringr)
str_extract(v1, "(?<=\\@ )[0-9]+:[0-9]{2}")
#[1] "11:56"
v1 <- "WHENSEPTEMBER 14, 2015 @ 11:56 AM - 12:00 PM EDT"
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句