2014-11-03 2 views
0

Я хочу, чтобы извлечь буквенно-цифровые символы из partiular предложения в R. я попытался следующее:Как распознать и извлечь буквенно-цифровые символы в R

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

.Это должен возвращать integer(0), но он возвращает 1 , что не должно быть так, поскольку "abc" не является буквенно-цифровым. Что мне здесь не хватает? По сути, я ищу функцию, которая ищет только символы, которые являются комбинациями обоих алфавитов и цифр, например: «ABC-0112», «PCS12SCH» Заранее за вашу помощь.

+0

Она возвращает 1, потому что есть по крайней мере один алфавитно-цифровой символ в «ABC». И '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 

 Смежные вопросы

  • Нет связанных вопросов^_^