使用`stringr`删除列名中的不寻常字符

时间:2019-01-27 13:53:50

标签: r tidyverse stringr

我有一个特殊的数据框,其中用引号引起来,并且我想提取引号之间的所有内容。我正在尝试使用stringr来执行此操作,但无济于事。我怎样才能做到这一点? (我还将采用不使用stringr的解决方案。)

# setup
set.seed(123)
library(tidyverse)

# creating a dataframe with esoteric name
(df <- tibble::tribble(~`"x"`,
                "x"))
#> # A tibble: 1 x 1
#>   `"x"`
#>   <chr>
#> 1 x

# checking the name of the column
colnames(df)
#> [1] "\"x\""

# my attempt (doesn't work)
stringr::str_remove_all(colnames(df), pattern = '^"\"|\""$')
#> [1] "\"x\""

reprex package(v0.2.1)于2019-01-27创建

1 个答案:

答案 0 :(得分:0)

不确定预期的输出:像这样工作。    \\W匹配所有不是单词的内容。

  stringr::str_remove_all(names(df),"\\W")
[1] "x"