2014-11-03 3 views
0

의 숫자가 나는 다음과 같은 시도 R. 에 partiular 문장에서 알파벳 문자를 추출 할 방법 :인식하고 추출 알파 R

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

.This이 integer(0)를 반환해야하지만, 1을 반환 "abc"은 영숫자가 아닙니다. 여기에 무엇이 누락 되었습니까? 기본적으로 "ABC-0112", "PCS12SCH" 사전에 도움을 주셔서 감사합니다. 예 : "ABC-0112", 영문자와 숫자의 조합 만 검색하는 기능을 찾고 있습니다.

+0

적어도 1 영숫자 문자가 "ABC"에 있기 때문에 그것은 1을 반환합니다. 그리고 grep ("[: alnum :]]", c ("ABC-0112", "PCS12SCH"))'는 다른 두 문자열 모두에 적용됩니다. 당신이 무엇을 요구하고 있는지 확실하지 않습니다. –

답변

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