Мы можем использовать sub
для сопоставления символов до одного или нескольких пробелов (\\s+
) и замены на пустые (""
)
sub("^[^ ]+\\s+", "", df1$col)
#[1] "00:12:45.823" "00:12:49.897" "00:12:56.207"
Или преобразовать в POSIXct
, а затем format
(здесь могут быть небольшие изменения в точности десятичных знаков)
format(as.POSIXct(df1$col), "%H:%M:%OS3")
#[1] "00:12:45.822" "00:12:49.897" "00:12:56.207"
Или с separate
из tidyverse
library(tidyverse)
df1 %>%
separate(col, into = c('col1', 'col2'), sep=" ") %>%
select(col2)
data
str1 <- c("2018-04-01 00:12:45.823", "2018-04-01 00:12:49.897",
"2018-04-01 00:12:56.207")
df1 <- data.frame(col = str1, stringsAsFactors = FALSE)