Tibble
你好!我正在尝试将 Start.time 变量从"4:00 PM"的字符格式更改为"4:00 PM",并取出 PM/AM 并将其保留为 4:00 作为数字变量(如果可能(。谢谢!
一种选择是使用str_remove
匹配零个或多个空格 (\s*
(,后跟字符串末尾的字母 'A', 'P', 'M' ($
(
library(stringr)
library(dplyr)
df1 %>%
mutate(Start.time = str_remove(Start.time, "\s*[APM]+$"))
在base R
,这可以通过sub
df1$Start.time <- sub("\s*[APM]+$", "", df1$Start.time)
或与substr
trimws(substr(df1$Start.time, 1, 5))
gsub("\s*[APM]", "", start.time)
可用于将 HH:MM之后的字符串部分替换为空字符串,仅保留 HH:MM 位。
trimws(x)
替换字符串x
中的任何前导空格。
> start.time
[1] "4:00 PM" "12:00 AM" " 4:00 AM"
> trimws(gsub("\s*[APM]", "", start.time))
[1] "4:00" "12:00" "4:00"