2014-11-03 70 views
0

數字字符我想從partiular一句R. 我曾嘗試以下提取字母數字字符:如何識別和提取字母R中

aa=grep("[:alnum:]","abc") 

。這應該返回integer(0),但它返回1 ,不應該如此,因爲​​不是字母數字。 我在這裏錯過了什麼? 本質上我正在尋找一種功能,即只搜索字母組合的字母和數字,例如:「ABC-0112」,「PCS12SCH」 在此先感謝您的幫助。

+0

,因爲至少有1字母數字字符的「ABC」,則返回1。而grep(「[[:alnum:]]」,c(「ABC-0112」,「PCS12SCH」))'適用於其他字符串。不確定你在問什麼。 – 2014-11-03 10:40:28

回答

1

[[:alnum:]]符合字母或數字。爲了配合它包含兩個,那麼你應該使用字符串,

x <- c("ABC", "ABc12", "--A-1", "abc--", "89=A") 
grep("(.*[[:alpha:]].*[[:digit:]]|.*[[:digit:]].*[[:alpha:]])", x) 
# [1] 2 3 5 

which(grepl("[[:alpha:]]", x) & grepl("[[:digit:]]", x)) 
# [1] 2 3 5