【问题标题】:Extracting century and year from a string从字符串中提取世纪和年份
【发布时间】:2021-04-14 12:44:24
【问题描述】:

我有一个大列显示一个字符串,例如:

20-1843PA-HY-4563-214DF

“20”是世纪,“18”是年份。使用函数提取这两者并在 R 中输出 2018 的最简单方法是什么?

【问题讨论】:

    标签: r string function


    【解决方案1】:

    我们可以使用sub从字符串的开头(^)后跟-捕获数字作为一组,然后捕获两个数字((\\d{2}))并替换为反向引用( \\1\\2) 捕获组

    f1 <- function(nm) as.numeric(sub("^(\\d+)-(\\d{2}).*", "\\1\\2", nm))
    f1(str1)
    #[1] 2018
    

    数据

    str1 <- "20-1843PA-HY-4563-214DF"
    

    【讨论】:

      【解决方案2】:

      我会这样做:

      chr_collumn<-"20-1843PA-HY-4563-214DF"
      chr_collumn<-strsplit(chr_collumn,"-")
      chr_collumn<-unlist(chr_collumn)[1:2]
      chr_year<-paste0(chr_collumn[1],strtrim(chr_collumn[2],width=2))
      chr_year<-as.numeric(chr_year)
      chr_year
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-06-13
        • 1970-01-01
        • 2020-09-18
        • 1970-01-01
        • 1970-01-01
        • 2021-08-11
        相关资源
        最近更新 更多