我的列名是这样的。
colnames <- c("a81", "b82", "a181", "b182")
我想只提取列名末尾有81或82的列,在这些数字(81和82)前应该有一个字母。我想使用regex在 grepl
而这里的预期输出是
TRUE TRUE FALSE FALSE
我目前尝试的是
grepl("[:alpha:][81-82]$", colnames)
不幸的是,该代码返回 FALSE
对于所有的条目。我到底做错了什么?
该 [:alpha:]
需要改成 [[:alpha:]]
而不是 [81-82]
它可以是 8
其次 [1-2]
grepl("^[[:alpha:]]8[1-2]$", colnames)
#[1] TRUE TRUE FALSE FALSE
或者我们可以指定
grepl("^[A-Za-z]8[1-2]$", colnames)
我会选择
grepl("[a-z](81|82)$", colnames)
[a-z]表示任何字母,括号内为后面2个字符中的任何一个:即81或(