如何提取r中第二个冒号之前的所有字符串?

问题描述 投票:0回答:2

我的时间数据如下所示:

2024-01-26 19:24:40.0

我想像这样提取第二个冒号之前的所有内容:

2024-01-26 19:24

我尝试了如下代码:

a="2024-01-26 19:24:40.0"
b=sub("(^([^:]+:){2}).*$", "\\1",a)

但是结果是这样的:

2024-01-26 19:24:

那么如何正确编写代码呢?

r
2个回答
1
投票

选项1

> sub("(.*\\d+:\\d+):.*", "\\1", a)
[1] "2024-01-26 19:24"

选项2

> sub(":\\d+\\.\\d+", "", a)
[1] "2024-01-26 19:24"

0
投票

使用

as.POSIXct

format(as.POSIXct(a), "%F %R")
[1] "2024-01-26 19:24"
© www.soinside.com 2019 - 2024. All rights reserved.