从r中的字符串中提取时间(以AM/PM为单位)

从r中的字符串中提取时间(以AM/PM为单位),r,split,R,Split,我想将字符串中的时间(以及AM/PM)提取到一个列表中,该列表可以呈现到selectizeInput中。我浏览了网上的其他解决方案,但解决方案要么太复杂,难以理解,要么不可复制。如果有人能提出简单的解决办法,我将不胜感激 strg <- 'At 03:00 AM, 06:00 AM and 11:00 AM, only on Monday, Tuesday, Wednesday, Thursday, and Friday' strg尝试使用regmatches模式\b\d{2}:\d{2

我想将字符串中的时间(以及AM/PM)提取到一个列表中,该列表可以呈现到selectizeInput中。我浏览了网上的其他解决方案,但解决方案要么太复杂,难以理解,要么不可复制。如果有人能提出简单的解决办法,我将不胜感激

strg <- 'At 03:00 AM, 06:00 AM and 11:00 AM, only on Monday, Tuesday, Wednesday, Thursday, and Friday'

strg尝试使用
regmatches
模式
\b\d{2}:\d{2}(?:AM | PM)\b

strg <- 'At 03:00 AM, 06:00 AM and 11:00 AM, only on Monday, Tuesday, Wednesday, Thursday, and Friday'
m <- gregexpr("\\b\\d{2}:\\d{2} (?:AM|PM)\\b", strg)
regmatches(strg, m)[[1]]

[1] "03:00 AM" "06:00 AM" "11:00 AM"

strg带有
stru-extract的选项

library(stringr)
str_extract_all(strg, "[0-9]{2}:[0-9]{2} [AP]M")[[1]]
#[1] "03:00 AM" "06:00 AM" "11:00 AM"