r - Returning non-alphanumeric characters found by REGEX -
i have no problem finding , returning words containing non-alphanumeric characters, i'd return non-alphanumeric character found. example:
a <- c("hello?", "goodbye","hi!") grep("[^[:alnum:]]", a, value=true) returns:
[1] "hello?" "hi!" but i'd return is:
[1] "?" "!" any thoughts? thanks!
edit: love this...two user responses, 4 different ways done. i've learned lot. thank you!
we can use gsub remove alphanumeric characters matching pattern ([^[:punct:]]+ - meaning 1 or more non punctuation characters) , replace blanks (""). remove blanks either nzchar or setdiff.
setdiff(gsub("[^[:punct:]]+", "", a), "") #[1] "?" "!" or option str_extract stringr
library(stringr) as.vector(na.omit(str_extract(a, "[[:punct:]]+"))) #[1] "?" "!"
Comments
Post a Comment