簡體   English   中英

從 R 中的部分日期中提取月份

[英]Extract Month from partial date in R

我有一個部分日期字符串

partial <- "UN-Jan-2022"

我想要的 output

> parital
  Jan

我正在嘗試通過使用 gsub 來做到這一點,我可以刪除“UN-”或 -“2022”,但不確定如何在一個 gsub 中同時刪除這兩個

gsub("UN-", "", partial)
Jan-2022
gsub("-2022", "", partial)
UN-Jan

另一種可能的解決方案,基於stringr::str_match和正則表達式捕獲組:

stringr::str_match(partial, ".*-(.*)-.*")[2]

#> [1] "Jan"

另一個gsub選項提取兩個“-”之間的所有內容,如下所示:

partial <- "UN-Jan-2022"
gsub(".*-(.*)\\-.*", "\\1", partial)
#> [1] "Jan"

代表 package (v2.0.1) 於 2022 年 7 月 27 日創建

我們可以使用邏輯“或”:

gsub("(UN-|-2022)", "", partial)
#[1] "Jan"

在這里,我們將替代模式分組在“()”中,用“|”分隔。

呃......在這種情況下,“()”並不是完全必要的。

我們可以轉換為Date格式,然后使用format

format(as.Date(paste0(partial, '-01'), 'UN-%b-%Y-%d'), '%b')
[1] "Jan"

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM