从R中的字符串中提取字母

Moo*_*ose 10 string r data-manipulation

我有一个包含变量名称的字符向量,例如x <- c("AB.38.2", "GF.40.4", "ABC.34.2").我想提取字母,以便我有一个字符向量,现在只包含字母,例如c("AB", "GF", "ABC").

由于字母数量不同,我不能substring用来指定第一个和最后一个字符.

我怎么能这样做?

小智 7

以前的答案似乎比必要的要复杂。这个关于数字的问题也适用于字母:

> x <- c("AB.38.2", "GF.40.4", "ABC.34.2", "A B ..C 312, Fd", "  a")
> gsub("[^a-zA-Z]", "", x)
[1] "AB"    "GF"    "ABC"   "ABCFd" "a" 
Run Code Online (Sandbox Code Playgroud)


Mam*_*zal 6

你可以试试

sub("^([[:alpha:]]*).*", "\\1", x)
[1] "AB"  "GF"  "ABC"
Run Code Online (Sandbox Code Playgroud)

  • 或者,通过`library(“ stringr”)`,更易读:`str_extract(x,“ [AZ] +”)` (3认同)