【问题标题】:Substring datafame string column子字符串数据框字符串列
【发布时间】:2020-06-01 06:04:59
【问题描述】:

我有一个包含一列的数据框:

x = data.frame(col = c('PS-01','PS-02','PS-03','PS-04','PS-05','PS-06')

  )

我想用 stringr 对其进行子串化,并在 PS- 之后使用 int 获取新的数据帧,如下所示:

x_new = data.frame(col = c(01,02,03,04,05,06)

我该怎么做?

【问题讨论】:

    标签: r string dataframe substring


    【解决方案1】:

    应该这样做

    gsub("PS-", "", x)
    

    gsub()x 中搜索第一个参数 ("PS-") 并将其替换为第二个参数 ("")。

    这里是stringr 版本:

    library(stringr)
    
    str_replace(x, "PS-", "")
    

    【讨论】:

    • 我需要包 stringr 或 stringi
    【解决方案2】:

    我们可以使用stringrstr_extract

    stringr::str_extract(x$col, "(?<=PS-)\\d+")
    #[1] "01" "02" "03" "04" "05" "06"
    

    或者在基础 R 中使用相同的模式:

    unlist(regmatches(x$col, gregexpr("(?<=PS-)\\d+", x$col, perl = TRUE)))
    

    【讨论】:

      猜你喜欢
      • 2016-12-07
      • 2018-12-29
      • 2019-12-28
      • 2015-05-31
      • 2018-04-26
      • 2015-04-02
      • 1970-01-01
      • 1970-01-01
      • 2023-03-28
      相关资源
      最近更新 更多