【问题标题】:Split two sticked dates into two different rows in R将两个粘贴日期拆分为 R 中的两个不同行
【发布时间】:2021-03-05 13:52:34
【问题描述】:

在 R 中整理数据框后,我获得了一个日期列,其中有时日期会粘在一起。 如何将这些连接的日期拆分为新行?

date
6/01/220
20/03/202021/02/2020
15/04/202016/04/2020
9/05/2020

【问题讨论】:

    标签: r date split


    【解决方案1】:

    假设“220 年 6 月 1 日”是一个错字,这将起作用:

    df %>% 
      mutate(date = str_extract_all(date, "\\d{1,2}/\\d{2}/\\d{4}")) %>% 
      unnest(date)
    #> # A tibble: 6 x 1
    #>   date      
    #>   <chr>     
    #> 1 6/01/2020 
    #> 2 20/03/2020
    #> 3 21/02/2020
    #> 4 15/04/2020
    #> 5 16/04/2020
    #> 6 9/05/2020
    

    重要的部分是正则表达式 ("\\d{1,2}/\\d{2}/\\d{4}")。

    • \\d{1,2} 表示长度在 1 到 2 个字符之间的数字
    • \\d{2} 表示正好 2 个字符长的数字
    • \\d{4} 表示正好 4 个字符长的数字

    Regex 有大量教程。我总是推荐这个cheatsheet

    【讨论】:

    • 是的,它似乎工作得很好,谢谢。感谢正则表达式的解释
    • 如果这是正确的答案,您可以接受并点赞,作为其他有类似问题的人的信号。并为我赢得一些声望点:)
    猜你喜欢
    • 1970-01-01
    • 2019-05-02
    • 2020-03-07
    • 2016-09-28
    • 2020-07-19
    • 1970-01-01
    • 2013-08-23
    • 2018-02-05
    • 1970-01-01
    相关资源
    最近更新 更多