我正在尝试从R中的字符串中提取时间,因此无法停止获取NA。我已经尝试过多种正则表达式标签的变体,但似乎无法解决这个简单的问题。任何帮助/说明,不胜感激。
这是我的示例代码:
> x
[1] "2/7/2013 7:43"
> class(x)
[1] "character"
> z <- strptime(x, "%H:%M")
> z
[1] NA
最佳答案
R不知道您的字符串是日期时间。因此,首先使它成为:
y <- strptime(x, format='%m/%d/%Y %H:%M')
如果您只是想获取日期,则可以执行以下操作:
strptime(x, '%m/%d/%Y')
因为
strptime
会丢弃格式字符串之后的所有多余字符,但是由于该函数不知道从何处开始,因此您无法获取结尾的%H:%M
。一旦它是正确的日期时间类,就可以对其进行操作:
strftime(y, '%H:%M')
我更喜欢使用
as.POSIXlt
而不是strptime
和format
而不是strftime
...,但是它们大致相等。
关于regex - 在R中使用strptime()从字符串中提取时间,并返回NA,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21585138/