【发布时间】:2015-01-17 14:27:57
【问题描述】:
例如,我有以下字母数字元素的字符向量,其中包含元素内某处的状态缩写:
strings <- c("0001AZ226", "0001CA243", "0NA01CT134", "0001CT1NA", "0001ID112", "NAVA230")
如何提取字母,不包括 NA?即,
somefunction(strings)
[1] "AZ" "CA" "CT" "CT" "ID" "VA"
我以前使用正则表达式来删除每个元素的所有非整数,但从不删除所有数字,只删除字母 N 和 A。
这是我尝试过的,但没有奏效:
sub(paste(LETTERS[c(2:13,15:26)], collapse = "|"), "", strings, fixed = TRUE)
【问题讨论】:
-
gsub('\\d|NA', '', strings)\d是数字的缩写,其他见?regex -
如果 R 支持,可以使用环视来完成。