Удаление всех символов после первых 10 символов в векторе (R) - PullRequest
0 голосов
/ 27 сентября 2019

Я новичок с R и собираюсь удалить метку времени из поля date/time из данных Salesforce.Эти даты имеют следующий формат "2019-09-06T07:44:59.9999997904524", и мне нужно удалить все после, включая T, а затем преобразовать в формат mm/dd/yyyy.Как мне это сделать?

Ответы [ 3 ]

2 голосов
/ 27 сентября 2019

Вероятно, было бы лучше проанализировать дату и формат по желанию

format(as.Date("2019-09-06T07:44:59.9999997904524"), "%m/%d/%Y")
#OR
format(lubridate::ymd_hms( "2019-09-06T07:44:59.9999997904524"), "%m/%d/%Y")
#[1] "09/06/2019"
0 голосов
/ 28 сентября 2019

Решение для перебора в base R при условии, что вам нужно извлечь ровно 10 символов:

as.Date(substr("2019-09-06T07:44:59.9999997904524", start = 1, stop = 10))
0 голосов
/ 27 сентября 2019

Если нам нужно решение для регулярных выражений, соберите группу, а затем переставьте обратные ссылки

sub("(.{4})-(.{2})-(.{2}).*", "\\2/\\3/\\1", v1)
#[1] "09/06/2019"

Или используя anytime

library(anytime)
format(anytime(v1), "%m/%d/%Y")
#[1] "09/06/2019"

или вbase R

format(as.Date(v1), "%m/%d/%Y")

data

v1 <- "2019-09-06T07:44:59.9999997904524"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...