从列中的字符串中删除多个字符

Remove a number of character from string in a column

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

来自这里:

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

为此:

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

我一直在尝试使用 dplyr transmute 函数,但我无法真正让它工作。

任何帮助将不胜感激!

我认为这会起作用:

library(dplyr)
library(stringr)

df %>%
  mutate(col1 = str_remove(col1, "\d+(_)"))

  col1
1    A
2    B
3    C

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

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

您可以像下面这样使用sub

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