【问题标题】:Remove a number of character from string in a column从列中的字符串中删除多个字符
【发布时间】:2021-04-30 12:45:25
【问题描述】:

我有一个包含一列字符串的数据框,我想删除每个字符串中的前三个字符。如下例:

从这里:

df <- data_frame(col1 = c('01_A','02_B', '03_C'))

到这里:

df <- data_frame(col1 = c('A','B', 'C'))

我一直在尝试使用 dplyr transmute 功能,但我无法真正使用它。

任何帮助将不胜感激!

【问题讨论】:

    标签: r dplyr stringr


    【解决方案1】:

    我认为这会奏效:

    library(dplyr)
    library(stringr)
    
    df %>%
      mutate(col1 = str_remove(col1, "\\d+(_)"))
    
      col1
    1    A
    2    B
    3    C
    
    

    【讨论】:

      【解决方案2】:

      我们也可以使用base R中的substring作为上面提到的基于位置的子串提取的OP

      df$col1 <- substring(df$col1, 4)
      df$col1
      #[1] "A" "B" "C"
      

      【讨论】:

        【解决方案3】:

        你可以像下面这样使用sub

        > df %>%
        +   mutate(col1 = sub("^.{3}", "", col1))
        # A tibble: 3 x 1
          col1
          <chr>
        1 A
        2 B
        3 C
        

        【讨论】:

          猜你喜欢
          • 2018-03-16
          • 2013-08-20
          • 2023-01-11
          • 2013-07-05
          • 1970-01-01
          • 2017-02-12
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多